問題タブ [columnstore]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
280 参照

sql - すべての列を選択する場合のウェアハウス テーブルの列ストア インデックス

約 600,000 行、20 列の倉庫テーブルがあります。行数はかなり急速に増加する傾向があります。通常、次のクエリだけを実行する必要があります。

現在、主キーにクラスター化されたインデックスがあり、それ以上のインデックスはありません。約 200 000 行を返す 1 年間のこのクエリは約 6 分実行されますが、これは私にとっては非常に遅い時間です。列ストア インデックスは、どの列に配置するか、どの列を含めるかを助けることができますか?

0 投票する
1 に答える
73 参照

sql-server - 非クラスター化列ストア インデックスのディスク容量 (SQL Server 2012)

非クラスター化列ストア インデックスは追加のディスク領域を必要としますか? 私は、従来の非クラスター化インデックスがそうであることを認識しています。ただし、列ストア インデックス (NC を含む) を使用すると、基になるテーブル データが格納され、列の圧縮が行われると考えました。

NC 列ストア インデックスを個別に格納する場合、基本的に、インデックスに含まれる特定の列を含むテーブルのコピーを作成しますか?

明確にしていただきありがとうございます。

0 投票する
1 に答える
186 参照

sql-server - 350 億行の列ストア インデックス付きテーブルでインデックスを再作成します

インデックスを再構築する必要がある大きなテーブルがあります。テーブルは Clustered Column Store Index (CCI) で構成されており、特定のユース ケースに従ってデータを並べ替える必要があることに気付きました。

ユーザーは日付範囲と等価クエリを実行しますが、データが希望どおりに並べ替えられていないため、クエリは最適ではありません。SQL アドバイザリ チームは、データを適切な行グループに編成することを推奨しました。これにより、クエリは行グループの削除から利益を得ることができます。

テーブルの説明:

  • Timestamp1 による分割、月間 PF
  • 合計行: 310 億
  • 推定行サイズ: 60 バイト
  • 推定テーブル サイズ: 600 GB

テーブル定義:

環境:

  • SQL Server 2014 エンタープライズ版。
  • 8 コア、32 GB RAM
  • VMWare ハイ パフォーマンス プラットフォーム

私の戦略は次のとおりです。

  1. 既存の CCI を削除する
  2. 適切な列で通常のクラスター化された行インデックスを作成します。これにより、データが並べ替えられます
  3. DROP EXISTING = OFF で CCI を再作成します。これにより、既存の CRI が CCI に変換されます。

私の質問は次のとおりです。

  1. インデックスを再構築したり、単にデータをリロードしたりすることは理にかなっていますか? リロードが完了するまでに 1 か月かかる場合がありますが、インデックスの再構築にも同じくらい時間がかかる場合があります。
  2. 既存の CCI を削除すると、圧縮されなくなる可能性があるため、テーブルが拡張されますか?
0 投票する
1 に答える
9938 参照

sql-server - 挿入操作の前にインデックスを無効にし、挿入後にインデックスを有効にする最善の方法

SQL Server 2014 で非クラスター化列ストア インデックスを作成する予定です。

ただし、クラスター化されていない列ストア インデックスは読み取り専用であり、DML 操作を実行できません。挿入前に無効にし、挿入後に再度有効にする必要があります。

このタスクを実行する最善の方法は何ですか?

0 投票する
1 に答える
791 参照

sql-server - 現在の SQL Server バージョンが列ストア インデックスをサポートしているかどうかを確認するクエリ

いくつかの動的テーブルを作成するストアド プロシージャがあります。ホスト バージョンの SQL Server で列ストア インデックスがサポートされている場合は、列ストア インデックスを作成します。それ以外の場合は、通常の行ストア インデックスのみを作成するようにフォールバックします。

表を見つけましたdm_db_persisted_sku_featuresが、それはサポートされているものではなく、現在使用されている非標準機能を示しているだけです:

SQL Server のバージョンとエディションが列ストア インデックスをサポートしているかどうかをクエリ内から判断するにはどうすればよいですか?