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

Dlaczego użycie IN(...) podczas wybierania pól indeksowanych zabije wydajność zapytania SELECT?

Prawdę mówiąc, to stwierdzenie jest sprzeczne z wieloma wskazówkami, które czytałem w książkach i artykułach na temat MySQL.

Oto przykład:http://www.mysqlperformanceblog.com/2010/01/09/getting-around-optimizer-limitations-with-an-in-list/

Ponadto expr IN(value, ...) sama ma dodatkowe ulepszenia do obsługi dużych list wartości, ponieważ ma być używana jako użyteczna alternatywa dla pewnego range zapytania:

Nadal nadużywanie IN może powodować spowolnienie zapytań. Niektóre przypadki opisano w artykule .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pobierz wszystkie znaki przed spacją w MySQL

  2. Korzystanie z automatyzacji w celu przyspieszenia testów wersji w klastrze Galera z ClusterControl

  3. JSON_STORAGE_FREE() — dowiedz się, ile miejsca na dysku zostało zwolnione po aktualizacji dokumentu JSON w MySQL

  4. Uzyskaj drugą najwyższą wartość w tabeli MySQL

  5. Jak mogę używać SQL's YEAR(), MONTH() i DAY() w Doctrine2?