tabla - Pensamientos sobre creación de índices para SQL Server para índices faltantes
estructura de indices sql server (1)
El orden es importante para las columnas indexadas, pero no para las columnas incluidas. Esto se debe a que solo se usan columnas clave para las búsquedas.
Tienes que "leer entre líneas" de la mayoría de la documentación, pero eso es lo que están implicando en este artículo de BOL
Esta discusión es un poco más explícita al decir que el orden no es importante.
Casi la única preocupación con las columnas incluidas en los índices es el espacio: los índices pueden ser bastante grandes si se incluyen muchas columnas o columnas muy grandes. PERO esto significa que definitivamente no desea hacer dos índices separados , cada uno con las mismas columnas clave pero diferentes incluidos. Entonces solo estás agravando tu problema de espacio.
Estoy trabajando en la optimización del rendimiento de mi base de datos de SQL Server 2008 y estoy usando los resultados de varios DMV para identificar los índices que faltan, los índices que no se están utilizando, etc.
Principalmente estoy usando estos 3 scripts (de SQLServerCentral.com) que se basan en datos de DMV que SQL Server proporciona:
El último buscador de índice perdido
El mejor buscador de índices duplicados
The Ultimate Index Usage Reporter
Al tratar de crear nuevos índices, sé que debo ser inteligente y tratar de agrupar muchas de las sugerencias en el menor número posible de índices, creándolas de forma correcta para que puedan hacer un trabajo decente atendiendo algunas consultas diferentes. creando un índice separado para cada consulta cuando la única diferencia puede ser las columnas incluidas, etc.
Así que quería obtener los comentarios de la comunidad y ver si las personas pueden responder algunas preguntas sobre la lectura de los resultados del DMV y la estructuración de los nuevos índices.
¿Importa el orden de las columnas incluidas en un índice?
Tome las siguientes dos sugerencias de índice. ¿Qué harías para tratar de hacer que 1 se ajuste a ambos?
object_name equality_columns inequality_columns included_columns
Appointment [FranchiseId], [AppointmentTypeId] [CustomerId], [ApptDateTime] NULL
Appointment [FranchiseId], [AppointmentTypeId] [ApptDateTime] [CustomerId]
Si tengo muchas sugerencias de índice con los mismos campos de igualdad y desigualdad pero diferentes campos incluidos, ¿es mejor incluir más campos o ir con campos menos incluidos? Nuevamente, el objetivo es crear 1 índice vs. 3 (si 3 tienen diferentes columnas incluidas).
Por último, si hay algún recurso bueno que pueda ofrecer buenas reglas generales o pautas generales para este tipo de cosas, agradecería que se proporcionaran esos enlaces.