Mysql
 sql >> база данни >  >> RDS >> Mysql

рандомизиране на голям набор от данни

Можете да решите това с известна денормализация:

  • Създайте вторична таблица, която съдържа същите pkeys и състояния като вашата таблица с данни
  • Добавете и попълнете колона за група състояния, която ще бъде вид под-ключ, който автоматично номерирате сами (базирано от 1 автоматично увеличение спрямо едно състояние)

Когато не е необходимо да филтрирате, можете да генерирате рандове #s на pkey, както споменахте по-горе. Когато имате нужда от филтриране, генерирайте рандове спрямо StatusPkeys на конкретния статус, който ви интересува.

Има няколко начина за изграждане на тази таблица. Можете да имате процедура, която изпълнявате на интервал, или можете да я направите на живо. Последното обаче би било хит на производителността, тъй като изчисляването на StatusPkey може да стане скъпо.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Функцията mySQL str_to_date() връща грешка

  2. MySQL вмъкване на данни от друга таблица

  3. Дублиране / копиране на записи в същата MySQL таблица

  4. Миграция на Ruby on Rails, два първични ключа, но само един автоматично увеличен

  5. Обединете таблици в две бази данни с помощта на SQLAlchemy