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?
sql-server
database-design
sql-server-2012
index
columnstore
Vinay Kumar Chella
fuente
fuente
Respuestas:
No, el orden no importa. Cada columna se considera individualmente.
Del equipo de SQL Server (énfasis agregado):
fuente
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í
fuente
En SQL Server 2012-2016 tiene el concepto de eliminación de segmentos ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx ) y en realidad puede forzar el orden de al menos 1 columna (más 1 extra dentro de cada una de las particiones).
Considere el siguiente artículo que explica la carga de datos para una mejor eliminación de segmentos: Carga de datos para una mejor eliminación de segmentos
fuente
Hay una gran respuesta existente de Aaron a partir de 2012, para ampliar eso ...
Con SQL 2014+ tiene índices de almacén de columnas agrupados disponibles. Al crear un índice de almacén de columnas agrupado, no hay opciones de selección u orden de columnas disponibles. Índices de almacén de columnas descritos
fuente