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

cómo verificar que la consulta está usando el índice

En realidad, esto es más difícil de lo que parece:un DBMS moderno típico (y MS SQL Server no es una excepción) a veces realizará un escaneo completo de la tabla incluso si el índice está disponible, simplemente porque podría ser más rápido con pequeñas cantidades de datos.

Ejemplo:

Además, la decisión que toma el DBMS puede verse influenciada por la frescura/precisión de estadísticas son.

La prueba más confiable para saber si se usa el índice es simplemente llenar su base de datos con cantidades representativas de datos. y entonces mira el plan de ejecución . ¡Y no olvide cronometrar la ejecución real de la consulta, mientras lo hace!

Un ejemplo simplificado:si toda la tabla cabe en una sola página de la base de datos, es más rápido simplemente cargar esa página y revisarla secuencialmente, que esperar la E/S adicional para la página que contiene el índice.