Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

SQL-Filterkriterien in Join-Kriterien oder Where-Klausel, was effizienter ist

Ich würde die Leistung hier nicht als entscheidenden Faktor heranziehen - und ehrlich gesagt glaube ich nicht, dass es wirklich einen messbaren Leistungsunterschied zwischen diesen beiden Fällen gibt.

Ich würde immer Fall Nr. 2 verwenden - warum? Denn meiner Meinung nach sollte man nur die eigentlichen Kriterien, die den JOIN zwischen den beiden Tabellen herstellen, in die JOIN-Klausel packen – alles andere gehört in die WHERE-Klausel.

Es geht nur darum, die Dinge sauber zu halten und die Dinge dorthin zu bringen, wo sie hingehören, IMO.

Offensichtlich gibt es Fälle mit LEFT OUTER JOINs, in denen die Platzierung der Kriterien einen Unterschied hinsichtlich der zurückgegebenen Ergebnisse ausmacht - diese Fälle wären natürlich von meiner Empfehlung ausgeschlossen.

Markus