MySQL wählen, wo nicht in der Tabelle

Ich habe 2 Tabellen (A und B) mit denselben Primärschlüsseln. Ich möchte alle Zeilen auswählen, die sich in A und nicht in B befinden. Folgendes funktioniert:

select * from A where not exists (select * from B where A.pk=B.pk);

jedoch scheint es ziemlich schlecht zu sein (~ 2 Sek. in nur 100k Zeilen in A und 3-10k weniger in B)

Gibt es eine bessere Möglichkeit, dies auszuführen? Vielleicht als Linke mitmachen?

select * from A left join B on A.x=B.y where B.y is null;

uf meinen Daten scheint dies etwas schneller zu laufen (~ 10%), aber was ist im Allgemeine

Antworten auf die Frage(10)

Ihre Antwort auf die Frage