A ordem das colunas em um índice columnstore é importante?


12

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?


Respostas:


15

Não, a ordem não importa. Cada coluna é considerada individualmente.

Da equipe do SQL Server (ênfase adicionada):

Normalmente, você deseja colocar todas as colunas na sua tabela no índice columnstore. Não importa em que ordem você lista as colunas, porque um índice columnstore não possui uma chave, como o índice B-tree. Internamente, os dados serão reordenados automaticamente para obter a melhor compactação.


Não existe um conceito de colunas de alta densidade que devem ser as primeiras na ordem e colunas de baixa densidade devem ser as últimas na ordem. As colunas usadas com frequência devem ser as primeiras da ordem.
— Vinay Kumar Chella

11
Não que eu saiba - os índices columnstore não funcionam como os índices tradicionais da árvore B.
— Aaron Bertrand

Está bem. Eu ouvi em alguma conferência, mas não encontrei nenhuma fonte para isso. Vamos esperar por mais alguns comentários ...
— Vinay Kumar Chella

2

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



Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.