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

Selecione onde a ordem de avaliação da cláusula


Não há garantias para a ordem de avaliação. O otimizador tentará encontrar a maneira mais eficiente de executar a consulta, usando as informações disponíveis.

No seu caso, como c é indexado e d não é, o otimizador deve examinar o índice para encontrar todas as linhas que correspondem ao predicado em c e, em seguida, recuperar essas linhas dos dados da tabela para avaliar o predicado em d.

No entanto, se determinar que o índice em c não é muito seletivo (embora não no seu exemplo, uma coluna de gênero raramente é indexada de maneira útil), ele pode decidir fazer a verificação da tabela de qualquer maneira.

Para determinar a ordem de execução, você deve obter um plano de explicação para sua consulta. No entanto, perceba que esse plano pode mudar dependendo do que o otimizador acha que é a melhor consulta no momento.