(ブロ')グ

ブログって単語は両側に括弧つけると顔文字っぽい。(プロ')グ

SQLServerのパフォーマンスの最適化(インデックス)

SQLServerのパフォーマンスの最適化の方法として、インデックスの作成があるけれども、
この記事を参考にして作ると良さそう。

・隠れたデータを明らかにしてアプリケーションのパフォーマンスを最適化する
http://msdn.microsoft.com/ja-jp/magazine/cc135978.aspx
ここの「コストのかかる不足インデックス」のSQLを実行すると、

作った方が良いインデックスの解ります。

ポイントは以下の3つの項目。

equality_columns(等号列)
inequality_columns(不等号列)
included_columns(付加列)

上の情報を元にインデックスを作ります。

http://msdn.microsoft.com/ja-jp/library/ms345405.aspx

上記のサイトによると、

  • 最初に等号列を指定します (列リストの最も左)。

  • 不等号列を等号列の次に指定します (等号列の右側)。

  • CREATE INDEX ステートメントの INCLUDE 句に付加列を指定します。

  • 等号列の有効な順序を決定するには、選択度に基づいて順序付けを行います。つまり、最も選択度が高い列を最初に指定します。

ということなので、下の様に作ればよいのかな。

例:CREATE NONCLUSTERED INDEX IX_インデックス名 ON テーブル名 (等号列1,等号列2,不等号列1,・・・) INCLUDE (付加列1,付加列2・・・);