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

Производителност на MySQL IN оператор върху (голям?) брой стойности

Най-общо казано, ако IN списъкът става твърде голям (за някаква недобре дефинирана стойност на „твърде голям“, която обикновено е в района на 100 или по-малка), става по-ефективно да се използва присъединяване, създавайки временна таблица, ако е необходимо, за да задържи числата.

Ако числата са плътен набор (без празнини - което предполагат примерните данни), тогава можете да направите още по-добре с WHERE id BETWEEN 300 AND 3000 .

Въпреки това, вероятно има пропуски в набора, в който момент може да е по-добре да продължите със списъка с валидни стойности (освен ако пропуските са сравнително малко на брой, в който случай бихте могли да използвате:

WHERE id BETWEEN 300 AND 3000 AND id NOT BETWEEN 742 AND 836

Или каквито и да са пропуските.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да разрешите отказан достъп за потребителя ‘root’@’localhost’ (използвайки парола:Да) Когато свържете MySQL база данни

  2. 2 начина за изброяване на всички съхранени процедури в MySQL

  3. Как да премахнете водещите и крайните празни места в MySQL

  4. Транспониране на динамични колони в редове

  5. Приложение за списък със задачи, използващо PHP и MySQL база данни