sql >> Base de Datos >  >> RDS >> Sqlserver

Seleccione el orden de evaluación de la cláusula where

No hay garantías para el orden de evaluación. El optimizador intentará encontrar la forma más eficiente de ejecutar la consulta, utilizando la información disponible.

En su caso, dado que c está indexado y d no, el optimizador debe buscar en el índice para encontrar todas las filas que coincidan con el predicado en c, luego recuperar esas filas de los datos de la tabla para evaluar el predicado en d.

Sin embargo, si determina que el índice en c no es muy selectivo (aunque no en su ejemplo, una columna de género rara vez se indexa de manera útil), puede decidir hacer el escaneo de la tabla de todos modos.

Para determinar el orden de ejecución, debe obtener un plan de explicación para su consulta. Sin embargo, tenga en cuenta que ese plan puede cambiar según lo que el optimizador considere la mejor consulta en este momento.