Hallo Christian,
erstmal danke für die schnelle Antwort am frühen Sonntagmorgen.
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.
Viel wahrscheinlicher aber ist, dass beide Queries gleich performen.
Was mir als Ergebnis schon ausreicht.
Befrage
EXPLAIN
undSELECT BENCHMARK()
, die sind die einzige autoritative Quelle.
Mache ich interessehalber. Da diese Query aber in meinem Projekt ausschließlich in einem absoluten Sonderfall eingesetzt werden wird (und somit ggf. 1 x pro Jahr vorkommt), finde ich es schon ausreichend, zu wissen, dass beide in etwa gleich schnell arbeiten werden. Mehrere Tests in phpmyadmin zeigten zudem, dass beide Queries für sich gesehen eh schon sehr schnell sind.
Danke für die Hilfe, L.