Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Critères de filtre SQL dans les critères de jointure ou clause where qui est plus efficace

Je n'utiliserais pas les performances comme facteur décisif ici - et très honnêtement, je ne pense pas qu'il y ait vraiment de différence de performances mesurable entre ces deux cas.

J'utiliserais toujours le cas n° 2 - pourquoi ? Parce qu'à mon avis, vous ne devriez mettre que les critères réels qui établissent le JOIN entre les deux tables dans la clause JOIN - tout le reste appartient à la clause WHERE.

Juste une question de garder les choses propres et de mettre les choses à leur place, IMO.

Évidemment, il y a des cas avec LEFT OUTER JOIN où le placement des critères fait une différence en termes de résultats renvoyés - ces cas seraient bien sûr exclus de ma recommandation.

Marc