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

бърз избор на произволен ред от голяма таблица в mysql

Вземете всички идентификатори, изберете произволен от тях и извлечете пълния ред.

Ако знаете, че идентификаторите са последователни без дупки, можете просто да вземете максимума и да изчислите произволен идентификатор.

Ако има дупки тук-там, но предимно последователни стойности, и не ви пука за леко изкривена случайност, вземете максималната стойност, изчислете идентификатор и изберете първия ред с идентификатор, равен на или над този, който сте изчислили. Причината за изкривяването е, че идентификаторите, които следват такива дупки, ще имат по-голям шанс да бъдат избрани, отколкото тези, които следват друг идентификатор.

Ако поръчате на случаен принцип, ще имате ужасно сканиране на таблицата в ръцете си и думата бързо не се отнася за такова решение.

Не правете това, нито трябва да поръчвате от GUID, има същия проблем.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sql се присъединява като диаграма на Venn

  2. Използвайте MySQL пространствени разширения, за да изберете точки в кръг

  3. Laravel 5.4 на PHP 7.0:PDO изключение - не можа да се намери драйвер (MySQL)

  4. Как да конфигурирате репликация на източник-реплика в MySQL

  5. Защо редовете, връщани чрез обяснение, не са равни на count()?