sys.indexes (Transact-SQL)sys.indexes (Transact-SQL)

適用対象: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse APPLIES TO: yesSQL Server yesAzure SQL Database yesAzure Synapse Analytics (SQL DW) yesParallel Data Warehouse

テーブル、ビュー、テーブル値関数など、テーブル オブジェクトのインデックスまたはヒープごとに 1 行のデータを格納します。Contains a row per index or heap of a tabular object, such as a table, view, or table-valued function.

列名Column name データ型Data type [説明]Description
object_idobject_id intint このインデックスが所属するオブジェクトの ID。ID of the object to which this index belongs.
namename sysnamesysname インデックスの名前。Name of the index. nameは、オブジェクト内でのみ一意です。name is unique only within the object.

NULL = ヒープNULL = Heap
index_idindex_id intint インデックスの ID。ID of the index. index_idは、オブジェクト内でのみ一意です。index_id is unique only within the object.

0 = ヒープ0 = Heap

1 = クラスター化インデックス1 = Clustered index

> 1 = 非クラスター化インデックス> 1 = Nonclustered index
typetype tinyinttinyint インデックスの種類:Type of index:

0 = ヒープ0 = Heap

1 = クラスター化1 = Clustered

2 = 非クラスター化2 = Nonclustered

3 = XML3 = XML

4 = 空間4 = Spatial

5 = クラスター化列ストアインデックス。5 = Clustered columnstore index. 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

6 = 非クラスター化列ストアインデックス。6 = Nonclustered columnstore index. 適用対象: SQL Server 2012 (11.x)SQL Server 2012 (11.x) 以降。Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

7 = 非クラスター化ハッシュインデックス。7 = Nonclustered hash index. 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.
type_desctype_desc nvarchar (60)nvarchar(60) インデックスの種類の説明:Description of index type:

HEAPHEAP

CLUSTEREDCLUSTERED

NONCLUSTEREDNONCLUSTERED

XMLXML

SPATIALSPATIAL

クラスター化列ストア: SQL Server 2014 (12.x)SQL Server 2014 (12.x)以降に適用されます。CLUSTERED COLUMNSTORE - Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.

非クラスター化列ストア: SQL Server 2012 (11.x)SQL Server 2012 (11.x)以降に適用されます。NONCLUSTERED COLUMNSTORE - Applies to: SQL Server 2012 (11.x)SQL Server 2012 (11.x) and later.

非クラスター化ハッシュ: 非クラスター化ハッシュインデックスは、メモリ最適化テーブルでのみサポートされています。NONCLUSTERED HASH : NONCLUSTERED HASH indexes are supported only on memory-optimized tables. sys.hash_indexes ビューでは、現在のハッシュ インデックスとハッシュ プロパティが表示されます。The sys.hash_indexes view shows the current hash indexes and the hash properties. 詳細については、「 sys. hash_indexes (transact-sql)」を参照してください。For more information, see sys.hash_indexes (Transact-SQL). 適用対象: SQL Server 2014 (12.x)SQL Server 2014 (12.x) 以降。Applies to: SQL Server 2014 (12.x)SQL Server 2014 (12.x) and later.
is_uniqueis_unique bitbit 1 = インデックスは一意です。1 = Index is unique.

0 = インデックスは一意ではありません。0 = Index is not unique.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
data_space_iddata_space_id intint インデックスのデータ領域の ID。ID of the data space for this index. データ領域は、ファイル グループまたはパーティション構成です。Data space is either a filegroup or partition scheme.

0 = object_idはテーブル値関数またはメモリ内インデックスです。0 = object_id is a table-valued function or in-memory index.
ignore_dup_keyignore_dup_key bitbit 1 = IGNORE_DUP_KEY は ON です。1 = IGNORE_DUP_KEY is ON.

0 = IGNORE_DUP_KEY はオフです。0 = IGNORE_DUP_KEY is OFF.
is_primary_keyis_primary_key bitbit 1 = インデックスは PRIMARY KEY 制約の一部です。1 = Index is part of a PRIMARY KEY constraint.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
is_unique_constraintis_unique_constraint bitbit 1 = インデックスは UNIQUE 制約の一部です。1 = Index is part of a UNIQUE constraint.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
fill_factorfill_factor tinyinttinyint > 0 = インデックスが作成または再構築されたときに使用される FILLFACTOR のパーセンテージ。> 0 = FILLFACTOR percentage used when the index was created or rebuilt.

0 = 既定値0 = Default value

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
is_paddedis_padded bitbit 1 = PADINDEX はオンです。1 = PADINDEX is ON.

0 = PADINDEX はオフです。0 = PADINDEX is OFF.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
is_disabledis_disabled bitbit 1 = インデックスは無効です。1 = Index is disabled.

0 = インデックスは無効になっていません。0 = Index is not disabled.
is_hypotheticalis_hypothetical bitbit 1 = インデックスは仮想的であり、データへのアクセス パスとして直接使用することはできません。1 = Index is hypothetical and cannot be used directly as a data access path. 仮想インデックスは、列レベルの統計を保持しています。Hypothetical indexes hold column-level statistics.

0 = インデックスは仮想的ではありません。0 = Index is not hypothetical.
allow_row_locksallow_row_locks bitbit 1 = インデックスは行ロックを許可します。1 = Index allows row locks.

0 = インデックスは行ロックを許可しません。0 = Index does not allow row locks.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
allow_page_locksallow_page_locks bitbit 1 = インデックスはページロックを許可します。1 = Index allows page locks.

0 = インデックスはページロックを許可しません。0 = Index does not allow page locks.

クラスター化列ストア インデックスの場合、常に 0 です。Always 0 for clustered columnstore indexes.
has_filterhas_filter bitbit 1 = インデックスにはフィルターがあり、フィルター定義を満たす行のみが含まれます。1 = Index has a filter and only contains rows that satisfy the filter definition.

0 = インデックスにフィルターがありません。0 = Index does not have a filter.
filter_definitionfilter_definition nvarchar(max)nvarchar(max) フィルター選択されたインデックスに含まれる行のサブセットの式。Expression for the subset of rows included in the filtered index.

ヒープ、フィルター選択されていないインデックス、またはテーブルに対する十分な権限がない場合は NULL です。NULL for heap, non-filtered index, or insufficient permissions on the table.
auto_createdauto_created bitbit 1 = インデックスは自動チューニングによって作成されました。1 = Index was created by the automatic tuning.

0 = インデックスはユーザーによって作成されました。0 = Index was created by the user.
optimize_for_sequential_keyoptimize_for_sequential_key bitbit 1 = インデックスの最後のページ挿入最適化が有効になっています。1 = Index has last-page insert optimization enabled.

0 = 既定値。0 = Default value. インデックスの最後のページ挿入最適化が無効になっています。Index has last-page insert optimization disabled.

注意

Optimize_for_sequential_keyビットは、2019 CTP 3.1 以降のバージョン SQL Server のみでサポートされています。The optimize_for_sequential_key bit is only supported in versions SQL Server 2019 CTP 3.1 and higher.

アクセス許可Permissions

カタログ ビューでのメタデータの表示が、ユーザーが所有しているかそのユーザーが権限を許可されている、セキュリティ保護可能なメタデータに制限されます。The visibility of the metadata in catalog views is limited to securables that a user either owns or on which the user has been granted some permission.詳細については、「メタデータ表示の構成」を参照してください。For more information, see Metadata Visibility Configuration.

Examples

次の例では、 Production.Product AdventureWorks2012AdventureWorks2012データベース内のテーブルのすべてのインデックスを返します。The following example returns all indexes for the table Production.Product in the AdventureWorks2012AdventureWorks2012 database.

  
SELECT i.name AS index_name  
    ,i.type_desc  
    ,is_unique  
    ,ds.type_desc AS filegroup_or_partition_scheme  
    ,ds.name AS filegroup_or_partition_scheme_name  
    ,ignore_dup_key  
    ,is_primary_key  
    ,is_unique_constraint  
    ,fill_factor  
    ,is_padded  
    ,is_disabled  
    ,allow_row_locks  
    ,allow_page_locks  
FROM sys.indexes AS i  
INNER JOIN sys.data_spaces AS ds ON i.data_space_id = ds.data_space_id  
WHERE is_hypothetical = 0 AND i.index_id <> 0   
AND i.object_id = OBJECT_ID('Production.Product');  
GO  
  

参照See Also

オブジェクトカタログビュー (Transact-sql) Object Catalog Views (Transact-SQL)
カタログ ビュー (Transact-SQL) Catalog Views (Transact-SQL)
index_columns (Transact-sql) sys.index_columns (Transact-SQL)
xml_indexes (Transact-sql) sys.xml_indexes (Transact-SQL)
sys (Transact-sql) sys.objects (Transact-SQL)
key_constraints (Transact-sql) sys.key_constraints (Transact-SQL)
sys. ファイルグループ (Transact-sql) sys.filegroups (Transact-SQL)
partition_schemes (Transact-sql) sys.partition_schemes (Transact-SQL)
SQL Server システムカタログに対するクエリについてよく寄せられる質問 Querying the SQL Server System Catalog FAQ
インメモリ OLTP (インメモリ最適化)In-Memory OLTP (In-Memory Optimization)