Shoeisha Technology Media

EnterpriseZine(エンタープライズジン)

EnterpriseZine(エンタープライズジン)

テーマ別に探す

カラムストアインデックスのすべて(後編)

edited by DB Online   2012/01/19 00:00

日本マイクロソフトの平山です。今回の記事は、前回に引き続きカラムストアインデックスの解説です。今回はまず、カラムストアインデックスの制限事項を理解した上で、実際の運用シナリオを考えるところから始めたいと思います。

制限事項と運用シナリオ

 カラムストアインデックスを作成すると、対象となったテーブルのデータを更新することができなくなります。この点だけに着目してしまうと、これまでの SQL Server に定義していた一般的なインデックスの考え方とは一線を画すため驚いてしまうかもしれませんね。この特徴を理解したうえで、適切な運用方法を計画することで、大量の IO を必要とする操作の大幅なパフォーマンス向上が期待できます。

 それでは、カラムストアインデックスを作成したテーブルのデータを更新するための運用シナリオを考えてみます。代表的な例としては次の 2 つのシナリオが挙げられます。このような処理を必要に応じて定期的に実行することによって、カラムストアインデックスを作成したテーブルに対しても、データの変更を継続的に反映していくことができます。

 1. カラムストアインデックスの無効化
 一旦カラムストアインデックスを無効化 (または削除) してからデータの更新を実施します。その後、再度カラムストアインデックスを作成します。

 手順 1  ALTER INDEX インデックス名 ON テーブル名 DISABLE
 手順 2  データの更新
 手順 3   ALTER INDEX インデックス名 ON テーブル名 REBUILD

 2. パーティションの使用
 カラムストアインデックスがあってもパーティションの操作はできるため、データの追加にパーティションを使用します。

 手順 1   データ追加に使用するステージングテーブルにデータをロード
 手順 2  CREATE NONCLUSTERED COLUMNSTORE INDEX
                  – ステージングテーブルにカラムストアインデックスを作成
  手順 3    追加が必要になった時にパーティションをスイッチ
                   ALTER TABLE テーブル名 SWITCH TO T PARTITION …

※この続きは、会員の方のみお読みいただけます(登録無料)。


※この続きは、会員の方のみお読みいただけます(登録無料)。


著者プロフィール

  • 平山理(ヒラヤマオサム)

    日本マイクロソフト株式会社 プレミアフィールドエンジニアリング プレミアフィールドエンジニア 日本マイクロソフトの Premier Field Engineering 部で、お客様に SQL Server をスムーズにお使いいただくための様々なお手伝いをしています。Sybase (現 SAP)...

バックナンバー

連載:あたらしいSQL Server/Denaliの世界

もっと読む

All contents copyright © 2007-2019 Shoeisha Co., Ltd. All rights reserved. ver.1.5