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

Как да подредите резултатите от заявка на случаен принцип и да изберете произволни редове. (MySQL)

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

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

Това може да е доста лошо нещо да се каже, но все пак ще го кажа ... има ли някога нужда да се показват "случайни" данни? ако се опитвате да покажете произволни записи, може да правите нещо нередно.

Помислете за Amazon... те показват ли произволни продукти, или показват популярни такива и „неща, които други хора купиха, когато гледаха това“. SO дава ли ви списък с произволни въпроси вдясно от тук или списък със свързани? Само малко храна за размисъл.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Не мога да извлека стойността, която исках да избера с помощта на запаметена процедура

  2. mysql2sqlite.sh Auto_Increment

  3. Mysql Присъединете се И СУМ

  4. Ruby CSV чете многоредови полета

  5. SQL:Намерете максималния запис за група