Estoy de acuerdo con Cade Roux .
Este artículo debería llevarte por el camino correcto:
Una cosa a tener en cuenta, los índices agrupados deben tener una clave única (una columna de identidad que recomendaría) como la primera columna. Básicamente, ayuda a que sus datos se inserten al final del índice y no causa muchas E / S de disco y divisiones de página.
En segundo lugar, si está creando otros índices en sus datos y se construyen de manera inteligente, se reutilizarán.
por ejemplo, imagina que buscas una tabla en tres columnas
estado, condado, código postal
- a veces buscas solo por estado.
- a veces busca por estado y condado.
- busca con frecuencia por estado, condado, código postal.
Luego un índice con estado, condado, código postal. se usará en las tres búsquedas.
Si busca bastante solo con zip, entonces el índice anterior no se utilizará (de todos modos, SQL Server) ya que zip es la tercera parte de ese índice y el optimizador de consultas no verá ese índice como útil.
Luego, podría crear un índice solo en Zip que se usaría en esta instancia.
Por cierto , podemos aprovechar el hecho de que con la indexación de varias columnas, la primera columna de índice siempre se puede usar para buscar y cuando se busca solo por 'estado' es eficiente pero no tan eficiente como el índice de una sola columna en estado '
Supongo que la respuesta que está buscando es que depende de sus cláusulas where de sus consultas de uso frecuente y también de los by by de su grupo.
El artículo ayudará mucho. :-)
IDENTITY, GUID, etc
. 3) "Luego se utilizará un índice con estado, condado, código postal en las tres búsquedas". es falso y contradice "la primera columna es utilizable". Las columnas 2nd y subs en el índice no se pueden usar para la búsqueda.Si. Le recomiendo que consulte los artículos de Kimberly Tripp sobre indexación .
Si un índice está "cubriendo", entonces no hay necesidad de usar nada más que el índice. En SQL Server 2005, también puede agregar columnas adicionales al índice que no forman parte de la clave, lo que puede eliminar los viajes al resto de la fila.
Tener múltiples índices, cada uno en una sola columna puede significar que solo se utiliza un índice; deberá consultar el plan de ejecución para ver qué efectos ofrecen los diferentes esquemas de indexación.
También puede usar el asistente de ajuste para ayudar a determinar qué índices harían que una consulta o carga de trabajo funcione mejor.
fuente
El índice de varias columnas se puede usar para consultas que hacen referencia a todas las columnas:
Esto se puede buscar directamente utilizando el índice de varias columnas. Por otro lado, como máximo se puede utilizar uno de los índices de una sola columna (tendría que buscar todos los registros que tengan Column1 = 1, y luego verificar Column2 y Column3 en cada uno de ellos).
fuente
Un elemento que parece haberse perdido son las transformaciones de estrellas. Los operadores de intersección de índice resuelven el predicado calculando el conjunto de filas alcanzado por cada uno de los predicados antes de realizar cualquier E / S en la tabla de hechos. En un esquema en estrella, indexaría cada clave de dimensión individual y el optimizador de consultas puede resolver qué filas seleccionar mediante el cálculo de intersección de índice. Los índices en columnas individuales dan la mejor flexibilidad para esto.
fuente
Si tiene consultas que utilizarán con frecuencia un conjunto de columnas relativamente estático, crear un único índice de cobertura que las incluya a todas mejorará drásticamente el rendimiento.
Al colocar varias columnas en su índice, el optimizador solo tendrá que acceder a la tabla directamente si una columna no está en el índice. Los uso mucho en el almacenamiento de datos. La desventaja es que hacer esto puede costar muchos gastos generales, especialmente si los datos son muy volátiles.
Crear índices en columnas individuales es útil para las operaciones de búsqueda que se encuentran con frecuencia en los sistemas OLTP.
Debería preguntarse por qué indexa las columnas y cómo se utilizarán. Ejecute algunos planes de consulta y vea cuándo se accede a ellos. El ajuste del índice es tan instinto como la ciencia.
fuente