Intuitiv hätte ich gemeint, dass so eine Abfrage effizienter abgearbeitet werden kann, wenn einige Bedingungen, die viele Datensätze ausscheiden, schon im join festgelegt werden, weil dann die Ergebnismenge des joins kleiner ist? Was ist daran falsch?
Daran ist erst einmal gar nichts falsch.
Ob das aber
wirklich effizienter abgearbeitet wird und wenn, bei welcher Datenmenge und welcher Datenstruktur, hängt sehr stark vom
DBMS und dem Optimizer ab.
Man kann pauschal da gar nichts sagen, nur ein konkreter Test kann hier die letztendliche Erkenntnis bringen.
Manchmal gibt es auch recht konkrete Aussagen zu einem konkreten
DBMS
https://www.percona.com/blog/2010/04...oin-and-where/
Oder sowas
http://stackoverflow.com/questions/1...r-than-a-where
(Ich suche noch einen Link zu einer Seite, auf der unterschiedliche Performance-Tests mit einem MS-
SQL Server gemacht wurden, und dort gab es teilweise unterschiedliche Laufzeitverhalten abhänging von der Satzanzahl. Der scheint sich im Moment aber gut zu verstecken)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ea 0a 4c 14 0d b6 3a a4 c1 c5 b9
dc 90 9d f0 e9 de 13 da 60)