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

Производителност на MYSQL IN

Започвайки от определен брой записи, IN предикат над SELECT става по-бързо от това при списък с константи.

Вижте тази статия в моя блог за сравнение на производителността:

Ако колоната, използвана в заявката в IN клаузата е индексирана, както следва:

SELECT  *
FROM    table1
WHERE   unindexed_column IN
        (
        SELECT  indexed_column
        FROM    table2
        )

, тогава тази заявка просто е оптимизирана до EXISTS (който използва само един запис за всеки запис от table1 )

За съжаление, MySQL не може да направи HASH SEMI JOIN или MERGE SEMI JOIN които са още по-ефективни (особено ако и двете колони са индексирани).



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ping MySQL сървър с помощта на JDBC

  2. Неправилна стойност на низа:'\xF0\x9F\x8E\xB6\xF0\x9F...' MySQL

  3. Как мога да вмъкна данни в MySQL база данни?

  4. MySQL InnoDB Cluster 8.0 - Пълна разходка за внедряване:Част първа

  5. Проста подзаявка с OuterRef