Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Effizientere Abfrage als NOT IN (verschachtelte Auswahl)

Führen Sie ein Upgrade auf MySQL 5.6 durch, das Semi-Joins für Unterabfragen besser optimiert.

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

Oder verwenden Sie einen Ausschluss-Join:

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

Stellen Sie außerdem sicher, dass table2.table1_id hat einen Index darauf.