インデックス

適用対象:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

使用可能なインデックスの種類

次の表に、SQL Server で使用できるインデックスの種類および追加情報へのリンクを示します。

[インデックスの種類] 説明 関連情報
Hash ハッシュ インデックスの場合は、インメモリ ハッシュ テーブルを通じてデータにアクセスします。 ハッシュ インデックスは、バケット数の関数である固定量のメモリを消費します。 メモリ最適化テーブルでのインデックス使用のガイドライン

ハッシュ インデックスのデザイン ガイドライン
メモリ最適化された非クラスター化インデックス メモリ最適化された非クラスター化インデックスの場合、メモリ消費量はインデックス キー列の行数とサイズによって決まります。 メモリ最適化テーブルでのインデックス使用のガイドライン

メモリ最適化された非クラスター化インデックスのデザイン ガイドライン
クラスター化インデックス クラスター化インデックス キーを基準に、テーブルまたはビューのデータ行を並べ替えて格納します。 クラスター化インデックスは、クラスター化インデックス キーの値を基にして行を高速に取得できる B ツリー インデックス構造として実装されます。 クラスター化インデックスと非クラスター化インデックスの概念

クラスター化インデックスの作成

クラスター化インデックスのデザイン ガイドライン
非クラスター化インデックス 非クラスター化インデックスが設定されたテーブルやビュー、またはヒープ上に定義できます。 非クラスター化インデックスの各インデックス行には、非クラスター化キーの値および行ロケーターが含まれています。 このロケーターは、キー値があるクラスター化インデックスまたはヒープのデータ行を指します。 インデックスの行はインデックス キーの値順に格納されますが、データ行は、クラスター化インデックスをテーブルに作成している場合以外は特定の順序に並ぶ保証はありません。 クラスター化インデックスと非クラスター化インデックスの概念

非クラスター化インデックスの作成

非クラスター化インデックスのデザイン ガイドライン
[一意] インデックス キーの値が重複することがないので、テーブルまたはビューのすべての行をなんらかの方法で一意にすることができます。

クラスター化インデックスと非クラスター化インデックスは、どちらも一意にできます。
一意のインデックスの作成

一意インデックスのデザイン ガイドライン
列ストア インメモリ columnstore インデックスは、列ベースのデータ ストレージと列ベースのクエリ処理を使用して、データを格納および管理します。

列ストア インデックスは、主に一括読み込みと読み取り専用のクエリを実行するデータ ウェアハウスのワークロードで適切に動作します。 従来の行指向ストレージの最大 10 倍のクエリ パフォーマンス と、非圧縮データ サイズの最大 7 倍のデータ圧縮 を達成するために列ストア インデックスを使用します。
列ストア インデックスの説明

列ストア インデックスのデザイン ガイドライン
付加列インデックス キー列に加えて非キー列を付加できるように拡張した非クラスター化インデックスです。 付加列インデックスの作成
計算列のインデックス その他の列の値 (複数可) から、または特定の決定的入力から導かれる列のインデックスです。 計算列のインデックス
Filtered 最適化された非クラスター化インデックスです。このインデックスは、適切に定義されたデータのサブセットから選択するクエリに対応する際に特に適しています。 フィルター選択されたインデックスは、フィルター述語を使用して、テーブル内の一部の行にインデックスを作成します。 フィルター選択されたインデックスを適切にデザインすると、クエリのパフォーマンスが向上し、インデックスのメンテナンス コストを削減して、テーブル全体のインデックスと比較してインデックスのストレージ コストを削減することができます。 フィルター選択されたインデックスの作成

フィルター選択されたインデックスのデザイン ガイドライン
Spatial 空間インデックスを使用すると、geometryデータ型の列に含まれる空間オブジェクト ( 空間データ ) に対する一部の操作をより効率的に実行できます。 空間インデックスにより、比較的コストの高い空間操作を適用するオブジェクトの数を減らすことができます。 空間インデックスの概要
XML xml データ型列内の XML BLOB (binary large object) を細分化および永続化した表現です。 XML インデックス (SQL Server)
フルテキスト Microsoft Full-Text Engine for SQL Server により構築および管理される、トークンベースの特殊な機能インデックスです。 文字列データに対する高度な単語検索を効率的にサポートします。 フルテキスト インデックスの作成

注意

SQL Server のドキュメントでは、一般にインデックスに関して B ツリーという用語が使用されます。 行ストア インデックスで、SQL Server によって B+ ツリーが実装されます。 これは、列ストア インデックスやメモリ内データ ストアには適用されません。 詳細については、「SQL Server と Azure SQL のインデックス アーキテクチャとデザイン ガイド」を参照してください。

次のステップ