列ストアインデックスの列の順序は重要ですか?


12

2億行以下、15列以下のテーブルがあります。COLUMNSTOREテーブルにインデックスを作成する予定です。

列ストアインデックスで使用する列の順序に基づいてパフォーマンスに変化はありますか?はいの場合、その背後にあるロジックは何ですか?


回答:


15

いいえ、順序は関係ありません。各列は個別に考慮されます。

SQL Serverチームから(強調を追加):

通常、テーブル内のすべての列を列ストアインデックスに配置します。 ストアインデックスにはBツリーインデックスのようなキーがないため、列をリストする順序は関係ありません。内部的には、データは自動的に並べ替えられ、最適な圧縮が行われます。


高密度カラムの概念は最初にあり、低密度カラムは最後にある必要がありますか?使用頻度の高い列が最初に来るはずです。
Vinay Kumar Chella

1
列ストアインデックスは、従来のBツリーインデックスのようには機能しません。
アーロンバートランド

OK。私はいくつかの会議で聞いたが、その出所を見つけられなかった。他のコメントを待ってみましょう...
Vinay Kumar Chella

2

もっとこの質問に対する私の前の回答を経由して-あなたはcolumnstoreインデックスのベーステーブルからすべての列を含める必要があり、その場合には順序が問題で、どのような行いはありませんここに


0

SQL Server 2012-2016では、セグメントの削除(http://social.technet.microsoft.com/wiki/contents/articles/5651.understanding-segment-elimination.aspx)の概念があり、実際に少なくとも1列(各パーティション内に1つ余分に追加)。

より良いセグメントの除去のためのデータのロードを説明し、次の資料を検討してください。より良いセグメント撤廃のためのデータのロード


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.