1
resposta

Performance cláusula WHERE - SQL SERVER

Bom dia a todos!

Ontem ouvi uma informação e gostaria de saber se esta é verdadeira.

Fui informado que ao utilizar funções do SQL SERVER na cláusula WHERE do SELECT faz com que o SQL SERVER deixe a consulta menos performática, fazendo com que índice da tabela não seja utilizado na consulta.

Essa informação é verdadeira? Existe alguma recomendação por parte da Microsoft em relação a isso?

Desde já agradeço!

1 resposta

Sim. As funções usadas na cláusula Where vão ser aplicadas a todas as linhas dos resultados. Outra coisa que também impacta no desempenho é fazer conversões (casting) de dados, tanto no Where quanto nas colunas a serem retornadas.

Você talvez não perceba impacto se a sua base por pequena, mas isso é algo que deve ser evitado se possível.

Aqui tem alguns links com mais informações:

https://www.mssqltips.com/sqlservertip/1236/avoid-sql-server-functions-in-the-where-clause-for-performance/

https://www.mssqltips.com/sqlservertutorial/3204/avoid-using-functions-in-where-clause/