sql server - tener - ¿El índice no agrupado en una columna de índice agrupado mejora el rendimiento?
manejo de indices en sql (3)
En SQL Server 2005, el analizador de consultas me ha dicho muchas veces que cree un índice no agrupado en una columna de ID principal de una tabla que ya tiene un índice agrupado. Después de seguir esta recomendación, el plan de ejecución de consultas informa que la consulta debe ser más rápida.
¿Por qué un índice no agrupado en la misma columna (con el mismo orden de clasificación) sería más rápido que un índice agrupado?
Supongo que sería más rápido en los casos en que no necesite los datos completos de la fila, por ejemplo, si solo está comprobando si existe una fila con una ID determinada. Entonces, un índice agrupado sería bastante grande, mientras que un índice pequeño de "una columna" sería mucho más delgado.
Un índice agrupado generalmente será más rápido, pero solo puede tener 1 índice agrupado. Entonces, si la tabla ya tiene un índice agrupado en una columna diferente, entonces un índice no agrupado es lo mejor que puede hacer.
Un índice agrupado tiene todos los datos para la tabla, mientras que un índice no agrupado solo tiene la columna + la ubicación del índice agrupado o la fila si está en un montón (una tabla sin un índice agrupado). Por lo tanto, si realiza un recuento (columna) y esa columna se indexa con un servidor SQL de índice no agrupado, solo tiene que escanear el índice no agrupado, que es más rápido que el índice agrupado porque más caben en las páginas de 8K