web-dev-qa-db-ja.com

クラスター化列ストアインデックスを使用する前のテーブルの大きさ

列ストアインデックスをテーブルに適用することを検討する必要があるサイズは? SQL Serverストレージまたは設計ガイダンスはありますか?

データウェアハウスは合計5TBです。さらに、データベースを構成する100GBから1TBのテーブルがあります。 SQL Serverに、列ストアインデックスを適用する前にテーブルの大きさに関するガイダンスがあるかどうか知りたいですか?

ファクトテーブルの場合:たとえば、テーブルに300 MB、1 GB、1 TBの列ストアインデックスがあるとします。または、すべてのテーブルに配置する必要があり、サイズは関係ありませんか?

ディメンションテーブルの場合:さらに、ルックアップテーブルに列ストアインデックスを作成する必要がありますか?これらは小さい、通常2〜50 MB

この記事は決して述べなかった

https://docs.Microsoft.com/en-us/sql/relational-databases/indexes/columnstore-indexes-design-guidance?view=sql-server-2017

1
user161709

リンク先の記事 はこのガイダンスを提供します:

次の場合は、クラスター化列ストアインデックスの使用を検討してください。

各パーティションには少なくとも100万行あります。列ストアインデックスには、各パーティション内に行グループがあります。テーブルが小さすぎて各パーティション内の行グループを満たすことができない場合、列ストアの圧縮とクエリのパフォーマンスの利点は得られません。

列ストアの「最小サイズ」は、ディスク上の実際のサイズではなく、行数です。列ストアと見なす前に、各テーブル(またはテーブルがパーティション化されている場合はパーティション)が少なくとも100万行である必要があります。

非常に狭い数百万行のテーブルは数メガバイトしかない場合でも、列ストアの優れた候補になる可能性があります。行数が少ない幅の広いテーブルは、ディスク上の領域を多く消費する可能性があるため、列ストアの候補としては適していません。

「...のときにクラスター化列ストアインデックスを使用することを検討してください」および「...の場合にクラスター化列ストアインデックスを使用しない」というタイトルの記事のセクションを再確認することをお勧めします。

1
AMtwo