2017-12-21 7 views
0

私は〜43Mの行を持つテーブルを持っています。内部目的のために、この表にクラスタ化された列ストア索引を作成する必要があります。このような目的のために、次のコマンドを使用します。Columnstore Rowgroup少数の行

しかし、何らかの理由で、下の図のように行グループが小さすぎます。

enter image description here

これは何の原因になることができますか?私が知る限り、行グループの最小サイズは102400行です。したがって、これらの行グループがどのように小さくなったのか分かりません。

合計でテーブル用に775 row groupsが作成されています。


更新#1からsys.dm_db_column_store_row_group_physical_stats統計情報を確認するには、トリムの理由は主にDICTIONARY_SIZEによって引き起こされます。この状況をどのように処理するのですか?

+0

どのくらいのメモリをSQL Serverで使用できますか? IIRCでは、ターゲット行グループのサイズは1M行ですが、使用可能なメモリが不足している場合は縮小されます。 –

+0

dictionary_size、https://blogs.msdn.microsoft.com/sqlserverstorageengine/2014/05/03/clustered-column-store-factors-that-impact-size-of-a-groupgroup/に問題があるようです。 – DNac

+0

'sys.dm_db_column_store_row_group_physical_stats'をチェックして、' DICTIONARY_SIZE'が理由であるかどうか確認しましたか?その場合は、そのクエリの結果を回答として投稿します。 –

答えて

0

サーバーのメモリが不足している可能性があります。

彼のブログ記事は、最も重要な現実世界の1つに焦点を当てています - メモリ圧迫。あなた自身のコンピュータ上でテストするか、制御された環境で 開発サーバーの一部を使用している間は、ほとんどの場合 常にそうではありません。何百もありません。 あなたの利用可能なバッファプールを全て取り除くクエリはありません メモリ。

私は最近、テストのカップルを実行したとしよう には、クラスタ化Columnstoreインデックスを再構築しながら、流出過程を示すために、最大メモリ設定で を試しながら、私は完全に は元の値にリセットするのを忘れので、私は非常に の別の値で私は だった行グループの最大サイズとして驚いた。このブログの投稿は、私が が発見した詳細のいくつかをダイビングすることについてです。

出典:http://www.nikoport.com/2014/06/21/clustered-columnstore-indexes-part-31-memory-pressure-and-row-group-sizes/

また、あなたはそれ故に、一見類似した値、異なるグループ間の差を作り、クエリの結果では目に見えない、いくつかの白い文字があるかもしれません。これも同様に調査する必要があります。

関連する問題