Mysql
 sql >> Baza danych >  >> RDS >> Mysql

losowanie dużego zbioru danych

Możesz rozwiązać ten problem za pomocą pewnej denormalizacji:

  • Utwórz dodatkową tabelę, która zawiera te same klucze pkey i stany, co tabela danych
  • Dodaj i wypełnij kolumnę grupy statusu, która będzie rodzajem podklucza, który sam numerujesz (autoinkrementacja oparta na 1 w stosunku do pojedynczego statusu)

Gdy nie musisz filtrować, możesz wygenerować rand #s na pkey, jak wspomniałeś powyżej. Kiedy musisz filtrować, wygeneruj randy według StatusPkeys określonego statusu, który Cię interesuje.

Istnieje kilka sposobów na zbudowanie tego stołu. Możesz mieć procedurę, którą wykonujesz z przerwami, lub możesz to zrobić na żywo. Ta ostatnia byłaby jednak hitem wydajności, ponieważ obliczanie StatusPkey może być drogie.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sortowanie zapytań MySQL za pomocą liczb

  2. Aby mieć K w stylu Vima na ekranie dla MySQL

  3. przechowywać liczbę wierszy lub po prostu policzyć wiersze?

  4. Odśwież zawartość div tylko wtedy, gdy nowa zawartość zostanie dodana do bazy danych

  5. Dwa klucze obce w tej samej kolumnie z jednej tabeli