¿Importa el orden de las columnas en un índice de almacén de columnas?


12

Tengo una tabla con ~ 200 millones de filas y ~ 15 columnas en ella. Estoy planeando crear un COLUMNSTOREíndice en mi mesa.

¿Habrá algún cambio en el rendimiento en función del orden de las columnas que utilizo en el índice del almacén de columnas? En caso afirmativo, ¿cuál es la lógica detrás de esto?


Respuestas:


15

No, el orden no importa. Cada columna se considera individualmente.

Del equipo de SQL Server (énfasis agregado):

Por lo general, querrá colocar todas las columnas de su tabla en el índice del almacén de columnas. No importa en qué orden incluya las columnas porque un índice de almacén de columnas no tiene una clave como lo hace un índice de árbol B. Internamente, los datos se reordenarán automáticamente para obtener la mejor compresión.


¿No existe un concepto de columnas de alta densidad que deben ser los primeros en el orden y las columnas de baja densidad deben ser las últimas en el orden? Las columnas de uso frecuente deben ser las primeras en el orden.
Vinay Kumar Chella

1
No es que yo sepa: los índices de almacén de columnas no funcionan como los índices tradicionales de B-tree.
Aaron Bertrand

Okay. Escuché en alguna conferencia pero no encontré ninguna fuente para ello. Esperemos algunos comentarios más ...
Vinay Kumar Chella

2

el orden no importa, qué importa si debe incluir TODAS las columnas de la tabla base en el índice del almacén de columnas, más a través de mi respuesta anterior a esta pregunta aquí



Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.