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.