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

Zrozumienie wpływu na wydajność wyszukiwania krotek mysql

Według to pytanie , obsługa krotek w MySQL nie jest zoptymalizowana. Jak pisze @O.Jones w swoim komentarzu, planer zapytań w MySQL to niezwykle złożona bestia i rzeczy, które powinny praca nie zawsze zachowuje się tak, jak można by się spodziewać.

Uważam, że drugie zapytanie jest szybsze, ponieważ pierwsza klauzula where dept_id in (101, 103) zmniejsza przestrzeń wyszukiwania dla drugiego, który używa krotek. Optymalizator zapytań powinien zrób to automagicznie, ale przynajmniej w twoim przykładzie tego nie robi.

Nie wierzę w IN problemem jest klauzula - jest to porównanie krotek, które skanuje całą tabelę i nie używa dostępnych indeksów.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cronjob czy MySQL?

  2. Jak zarządzać połączeniami DB tylko do odczytu na poziomie aplikacji?

  3. Kiedy powinienem używać MySQLi zamiast MySQL?

  4. MYSQL jak sprzężenie, ale potrzebujesz tylko najnowszego wiersza?

  5. Jak ustawić strefę czasową bazy danych w application.ini