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

SQL o stałej wartości IN() a wydajność INNER JOIN

Odnosi się to do długości klauzuli IN - i tego, co w MySQL jest czasami nazywane BŁĘDEM.

Wydaje się, że MySQL ma niski próg dla klauzul IN, kiedy przełącza się na skanowanie tabeli/indeksu zamiast zbierać wiele partycji (po jednej na element IN) i łączyć je.

W przypadku INNER JOIN prawie zawsze jest zmuszane do korzystania z bezpośredniego wiersza po wierszu w kolekcji JOIN, dlatego czasami jest to szybsze

Zapoznaj się z tymi stronami podręcznika MySQL

Mogę się mylić, ponieważ wydaje się sugerować, że IN (constant value list) powinien zawsze używać wyszukiwania binarnego dla każdego elementu...




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Problem z buforem MySqlDataReader GetBytes...

  2. Importowanie bazy danych MySQL z jednego serwera na drugi

  3. mysql.sock nie jest utworzony OSX

  4. Wybór zwycięzców kuponów na loterię PHP

  5. Alternatywa NOT IN na MySQL