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・・・);