SQL Server IN vs. EXISTS-Leistung
Ich bin gespannt, welche der folgenden Möglichkeiten effizienter ist.
Ich war schon immer ein bisschen vorsichtig mitIN
weil ich glaube, dass SQL Server die Ergebnismenge in eine große verwandeltIF
Aussage. Bei einer großen Ergebnismenge kann dies zu einer schlechten Leistung führen. Bei kleinen Ergebnismengen bin ich mir nicht sicher, ob dies besser ist. Für große Ergebnismengen würde nichtEXISTS
effizienter sein?
WHERE EXISTS (SELECT * FROM Base WHERE bx.BoxID = Base.BoxID AND [Rank] = 2)
gegen
WHERE bx.BoxID IN (SELECT BoxID FROM Base WHERE [Rank = 2])