Eu tenho uma tabela com ~ 200 milhões de linhas e ~ 15 colunas nela. Estou planejando criar um COLUMNSTORE
índice na minha tabela.
Haverá alguma alteração no desempenho com base na ordem das colunas que eu uso no índice columnstore? Se sim, qual é a lógica por trás disso?
sql-server
database-design
sql-server-2012
index
columnstore
Vinay Kumar Chella
fonte
fonte
Respostas:
Não, a ordem não importa. Cada coluna é considerada individualmente.
Da equipe do SQL Server (ênfase adicionada):
fonte
ordem não importa, o que importa se você deve incluir TODAS as colunas da tabela base no índice columnstore - mais através da minha resposta anterior a esta pergunta aqui
fonte
No SQL Server 2012-2016, você tem o conceito de eliminação de segmento ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx ) e pode realmente forçar a ordem de pelo menos 1 coluna (mais 1 extra dentro de cada partição).
Considere o seguinte artigo que explica o carregamento de dados para melhor eliminação de segmentos: Carregamento de dados para melhor eliminação de segmentos
fonte
Existe uma excelente resposta de Aaron a partir de 2012, para expandir ...
Com o SQL 2014+, você tem índices columnstore clusterizados disponíveis. Ao criar um índice columnstore clusterizado, não há opções de seleção ou ordem de coluna disponíveis. Índices Columnstore Descritos
fonte