Hallo Lukas.,
Lässt man den Optimizer außen vor, hängt es von der Größe der Ergebnismenge ab, welche Query schneller ist: ist die Ergebnismenge der Subquery klein, so wird die Subquery vermutlich schneller sein, weil das Resultset unangetastet bleibt. Ist die Menge groß, wird es die
JOIN
-Variante sein, weil das Ergebnis der Subquery auf die Platte ausgelagert werden müsste.Wobei dann wieder die Frage ist, was "klein" und "groß" in diesem Zusammenhang ist.
Das ist abhängig von der Konfiguration des DBMS 😉 passt die Ergebnismenge in die maximal zulässige Menge Speicher für eine Query ist sie „klein,” sonst „groß” 😂
LG,
CK