適用対象:SQL Server
Azure SQL Database
Azure SQL Managed Instance
Microsoft Fabric の SQL データベース
使用可能なインデックスの種類
次の表に、SQL Server で使用できるインデックスの種類および追加情報へのリンクを示します。
| インデックスの種類 | Description | 追加情報 |
|---|---|---|
| Hash | ハッシュ インデックスの場合は、インメモリ ハッシュ テーブルを通じてデータにアクセスします。 ハッシュ インデックスは、バケット数の関数である固定量のメモリを消費します。 |
メモリ最適化テーブルのインデックス ハッシュ インデックスのデザイン ガイドライン |
| メモリ最適化 Nonclustered | メモリ最適化された非クラスター化インデックスの場合、メモリ消費量はインデックス キー列の行数とサイズによって決まります。 |
メモリ最適化テーブルのインデックス メモリ最適化された非クラスター化インデックスのデザイン ガイドライン |
| Clustered | クラスター化インデックス キーを基準に、テーブルまたはビューのデータ行を並べ替えて格納します。 クラスター化インデックスは、クラスター化インデックス キーの値を基にして行を高速に取得できる B ツリー インデックス構造として実装されます。 |
クラスター化インデックスと非クラスター化インデックス クラスター化インデックスの作成 クラスター化インデックスのデザイン ガイドライン |
| Nonclustered | 非クラスター化インデックスが設定されたテーブルやビュー、またはヒープ上に定義できます。 非クラスター化インデックスの各インデックス行には、非クラスター化キーの値および行ロケーターが含まれています。 このロケーターは、キー値があるクラスター化インデックスまたはヒープのデータ行を指します。 インデックス内の行はインデックス キー値の順序で格納されますが、テーブルにクラスター化インデックスが作成されない限り、データ行は特定の順序であるとは限りません。 |
クラスター化インデックスと非クラスター化インデックス 非クラスター化インデックスの作成 非クラスター化インデックスのデザイン ガイドライン |
| Unique | インデックス キーの値が重複することがないので、テーブルまたはビューのすべての行をなんらかの方法で一意にすることができます。 クラスター化インデックスと非クラスター化インデックスは、どちらも一意にできます。 |
一意のインデックスを作成する 一意インデックスのデザイン ガイドライン |
| Columnstore | インメモリ columnstore インデックスは、列ベースのデータ ストレージと列ベースのクエリ処理を使用して、データを格納および管理します。 列ストア インデックスは、主に一括読み込みと読み取り専用のクエリを実行するデータ ウェアハウスのワークロードで適切に動作します。 従来の行指向ストレージの最大 10 倍のクエリ パフォーマンス と、非圧縮データ サイズの最大 7 倍のデータ圧縮 を達成するために列ストア インデックスを使用します。 |
列ストア インデックス: 概要 列ストア インデックスのデザイン ガイドライン |
| 付加列インデックス | キー列に加えて非キー列を付加できるように拡張した非クラスター化インデックスです。 | 含まれる列を含むインデックスを作成する |
| 計算列のインデックス | その他の列の値 (複数可) から、または特定の決定的入力から導かれる列のインデックスです。 | 計算列のインデックス |
| Filtered | 最適化された非クラスター化インデックスです。このインデックスは、適切に定義されたデータのサブセットから選択するクエリに対応する際に特に適しています。 フィルター選択されたインデックスは、フィルター述語を使用して、テーブル内の一部の行にインデックスを作成します。 フィルター選択されたインデックスを適切にデザインすると、クエリのパフォーマンスが向上し、インデックスのメンテナンス コストを削減して、テーブル全体のインデックスと比較してインデックスのストレージ コストを削減することができます。 |
フィルター選択されたインデックスを作成する フィルター選択されたインデックスのデザイン ガイドライン |
| Spatial | 空間インデックスを使用すると、geometryデータ型の列に含まれる空間オブジェクト ( 空間データ ) に対する一部の操作をより効率的に実行できます。 空間インデックスにより、比較的コストの高い空間操作を適用するオブジェクトの数を減らすことができます。 | 空間インデックスの概要 |
| XML | xml データ型列内の XML BLOB (binary large object) を細分化および永続化した表現です。 | XML インデックス (SQL Server) |
| Full-text | Microsoft Full-Text Engine for SQL Server により構築および管理される、トークンベースの特殊な機能インデックスです。 文字列データに対する高度な単語検索を効率的にサポートします。 | フルテキスト インデックスの作成 |
Note
ドキュメントでは、一般的にインデックスに関して B ツリーという用語が使用されます。 行ストア インデックスで、データベース エンジンによって B+ ツリーが実装されます。 これは、列ストア インデックスやメモリ最適化テーブルのインデックスには適用されません。 詳細については、「SQL Server と Azure SQL のインデックスのアーキテクチャとデザイン ガイド」を参照してください。