【SQL Server】SQL Serverのインデックスあれこれ

■ はじめに

https://dk521123.hatenablog.com/entry/2010/04/01/175501

でやったインデックスを行ったが、SQL Server に絞って書く。

目次

【1】SQL Serverのインデックス構造
 1)クラスタ化インデックス
 2)非クラスタ化インデックス
【2】クラスタ化インデックス・非クラスタ化インデックスとの違い

【1】SQL Serverのインデックス構造

 1)クラスタ化インデックス

 * インデックスのBツリー構造の末端のページにデータまで入れたもの
 * データがインデックスキーによってソート済みで格納されている

 設計基準

 * 以下のケースにおいて、パフォーマンスに優れている
  + ソートを伴う検索
  + 範囲指定での検索

http://msdn.microsoft.com/ja-jp/library/ms190639.aspx
http://www.atmarkit.co.jp/fdb/rensai/drk05/drk05_2.html
http://enterprisezine.jp/iti/detail/3357?p=2
http://msdn.microsoft.com/ja-jp/library/ms177443.aspx

 2)非クラスタ化インデックス

 * データ行とは独立した構造になっている

 【2】クラスタ化インデックス・非クラスタ化インデックスとの違い

 * 基になるテーブルのデータ行は、
 非クラスタ化キーに基づいた順序で並べ替えられたり格納されない
 * 非クラスタ化インデックスのリーフ層は、
 データ ページではなくインデックス ページで構成されている

http://enterprisezine.jp/article/detail/3357?p=2

の「カラオケの歌詞集は、曲名によるクラスタ化インデックス付で、
歌手名の索引は非クラスタ化インデックス」
って表現は面白い。

http://msdn.microsoft.com/ja-jp/library/ms177484(v=sql.105).aspx

 参考文献

http://www.atmarkit.co.jp/fdb/rensai/sqlstune04/sqlstune04_1.html
http://www.atmarkit.co.jp/fdb/rensai/sqlstune05/sqlstune05_1.html
http://msdn.microsoft.com/ja-jp/library/ms190457.aspx

関連記事

インデックス ~ 入門編 ~
https://dk521123.hatenablog.com/entry/2010/04/01/175501
MySQLのインデックスあれこれ
https://dk521123.hatenablog.com/entry/2018/03/20/220724