Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Critérios de filtro SQL em critérios de junção ou cláusula where que é mais eficiente


Eu não usaria o desempenho como o fator decisivo aqui - e honestamente, não acho que haja qualquer diferença de desempenho mensurável entre esses dois casos, na verdade.

Eu sempre usaria o caso nº 2 - por quê? Porque na minha opinião, você deve colocar apenas os critérios reais que estabelecem o JOIN entre as duas tabelas na cláusula JOIN - todo o resto pertence à cláusula WHERE.

Apenas uma questão de manter as coisas limpas e colocar as coisas onde elas pertencem, IMO.

Obviamente, há casos com LEFT OUTER JOINs em que o posicionamento dos critérios faz diferença em termos de quais resultados são retornados - esses casos seriam excluídos da minha recomendação, é claro.

Marco