L'ordre des colonnes dans un index columnstore est-il important?


12

J'ai un tableau avec environ 200 millions de lignes et environ 15 colonnes. Je prévois de créer un COLUMNSTOREindex sur ma table.

Y aura-t-il des changements de performances en fonction de l'ordre des colonnes que j'utilise dans l'index columnstore? Si oui, quelle est la logique derrière cela?


Réponses:


15

Non, l'ordre n'a pas d'importance. Chaque colonne est considérée individuellement.

De l'équipe SQL Server (soulignement ajouté):

En règle générale, vous souhaiterez placer toutes les colonnes de votre table dans l'index columnstore. Peu importe l'ordre dans lequel vous répertoriez les colonnes, car un index columnstore n'a pas de clé comme un index B-tree. En interne, les données seront automatiquement réorganisées pour obtenir la meilleure compression.


N'y a-t-il pas de concept de colonnes à haute densité qui devraient être les premières dans l'ordre et les colonnes à faible densité devraient être les dernières dans l'ordre. Les colonnes fréquemment utilisées doivent être les premières dans l'ordre.
Vinay Kumar Chella

1
Pas que je sache - les index columnstore ne fonctionnent pas comme les index B-tree traditionnels.
Aaron Bertrand

D'accord. J'ai entendu lors d'une conférence mais je n'ai trouvé aucune source pour cela. Attendons quelques commentaires de plus ...
Vinay Kumar Chella

2

l'ordre n'a pas d'importance, qu'importe si vous devez inclure TOUTES les colonnes de la table de base dans l'index columnstore - plus via ma réponse précédente à cette question ici


0

Dans SQL Server 2012-2016, vous avez le concept d'élimination de segment ( http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx ) et vous pouvez réellement forcer l'ordre de au moins 1 colonne (plus 1 supplémentaire à l'intérieur de chaque partition).

Considérez l'article suivant qui explique le chargement des données pour une meilleure élimination des segments: Chargement des données pour une meilleure élimination des segments


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.