sql >> Databasteknik >  >> RDS >> Mysql

Effektivare fråga än NOT IN (kapslade val)

Uppgradera till MySQL 5.6, som optimerar semi-joins mot undersökningar bättre.

Se http://dev.mysql.com/doc/ refman/5.6/en/subquery-optimization.html

Eller använd en exkluderingsanslutning:

SELECT COUNT(t1.table1_id) FROM table1 t1 
LEFT OUTER JOIN table2 t2 USING (table1_id)
WHERE t2.table1_id IS NULL

Se också till att table2.table1_id har ett index på sig.



  1. MySQL Tutorial – Förstå sekunderna bakom Master Value

  2. Det gick inte att hämta bilddata från tabell och visningsbild

  3. Lägga till data till ett MySQL-databasfält som redan har data i sig

  4. Mysql-tabellkolumnen kan inte vara null