sys.indexes(Transact-SQL)

적용 대상: 예SQL Server(지원되는 모든 버전) 예Azure SQL Database 예Azure SQL Managed Instance 예Azure Synapse Analytics 예병렬 데이터 웨어하우스

테이블, 뷰 또는 테이블 반환 함수와 같은 테이블 형식 개체의 인덱스 또는 힙당 하나의 행을 포함합니다.

열 이름 데이터 형식 Description
object_id int 이 인덱스가 속한 개체의 ID입니다.
name sysname 인덱스의 이름입니다. 이름은 개체 내에서만 고유합니다.

NULL = 힙
index_id int 인덱스의 ID입니다. index_id 개체 내에서만 고유합니다.

0 = 힙

1 또는 5 = 클러스터형 인덱스(B 트리, columnstore)

> 1 및 <> 5 = 비클러스터형 인덱스
type tinyint 인덱스의 유형입니다.

0 = 힙

1 = 클러스터형

2 = 비클러스터형

3 = XML

4 = 공간

5 = 클러스터형 columnstore 인덱스입니다. 적용 대상: SQL Server 2014(12.x) 이상

6 = 비클러스터형 columnstore 인덱스입니다. 적용 대상: SQL Server 2012(11.x) 이상

7 = 비클러스터형 해시 인덱스입니다. 적용 대상: SQL Server 2014(12.x) 이상
type_desc nvarchar(60) 인덱스 유형의 설명입니다.

HEAP

CLUSTERED

NONCLUSTERED

XML

SPATIAL

CLUSTERED COLUMNSTORE - 에 적용됩니다. SQL Server 2014(12.x) 이상.

비클러스터형 COLUMNSTORE - 에 적용됩니다. SQL Server 2012(11.x) 이상.

NONCLUSTERED HASH: 비클러스터형 해시 인덱스는 메모리 최적화 테이블에서만 지원됩니다. sys.hash_indexes 뷰는 현재 해시 인덱스 및 해시 속성을 보여 줍니다. 자세한 내용은 transact-SQL)sys.hash_indexes (참조하세요. 적용 대상: SQL Server 2014(12.x) 이상
is_unique bit 1 = 인덱스가 고유합니다.

0 = 인덱스가 고유하지 않습니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
data_space_id int 이 인덱스에 대한 데이터 공간의 ID입니다. 데이터 공간은 파일 그룹 또는 파티션 구성표입니다.

0 = object_id 테이블 값 함수 또는 메모리 내 인덱스입니다.
ignore_dup_key bit 1 = IGNORE_DUP_KEY가 ON입니다.

0 = IGNORE_DUP_KEY가 OFF입니다.
is_primary_key bit 1 = 인덱스가 PRIMARY KEY 제약 조건의 일부입니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
is_unique_constraint bit 1 = 인덱스가 UNIQUE 제약 조건의 일부입니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
fill_factor tinyint > 0 = 인덱스 생성 또는 다시 작성 시 사용된 FILLFACTOR 백분율입니다.

0 = 기본값

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
is_padded bit 1 = PADINDEX가 ON입니다.

0 = PADINDEX가 OFF입니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
is_disabled bit 1 = 인덱스가 비활성화되었습니다.

0 = 인덱스가 비활성화되지 않았습니다.
is_hypothetical bit 1 = 인덱스가 가상 인덱스이며 데이터 액세스 경로로 직접 사용할 수 없습니다. 가상 인덱스는 열 수준 통계를 보유합니다.

0 = 인덱스가 가상 인덱스입니다.
allow_row_locks bit 1 = 인덱스에서 행 잠금을 허용합니다.

0 = 인덱스에서 행 잠금을 허용하지 않습니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
allow_page_locks bit 1 = 인덱스에서 페이지 잠금을 허용합니다.

0 = 인덱스에서 페이지 잠금을 허용하지 않습니다.

클러스터형 columnstore 인덱스의 경우 항상 0입니다.
has_filter bit 1 = 인덱스에 필터가 있고 포함된 모든 행이 필터 정의를 만족합니다.

0 = 인덱스에 필터가 없습니다.
filter_definition nvarchar(max) 필터링된 인덱스에 포함된 행 하위 집합에 대한 식입니다.

힙, 필터링 되지 않은 인덱스 또는 테이블에 대 한 권한이 부족 한 경우 NULL입니다.
compression_delay int > 0 = Columnstore 인덱스 압축 지연이 지정 된 시간 (분)입니다.

NULL = Columnstore 인덱스 행 그룹 압축 지연이 자동으로 관리 됩니다.
suppress_dup_key_messages bit 1 = 인덱스가 다시 작성 작업을 수행 하는 동안 중복 키 메시지를 표시 하지 않도록 구성 되어 있습니다.

0 = 인덱스가 다시 작성 작업을 수행 하는 동안 중복 키 메시지를 표시 하지 않도록 구성 되어 있지 않습니다.

적용 대상: SQL Server (부터 SQL Server 2017(14.x) ), Azure SQL Database 및 Azure SQL Managed Instance
auto_created bit 1 = 자동 조정으로 인덱스를 만들었습니다.

0 = 사용자가 인덱스를 만들었습니다.

적용 대상: Azure SQL Database
optimize_for_sequential_key bit 1 = 인덱스에서 마지막 페이지 삽입 최적화를 사용 하도록 설정 했습니다.

0 = 기본값 인덱스에서 마지막 페이지 삽입 최적화를 사용할 수 없습니다.

적용 대상: SQL Server (부터 SQL Server 2019 (15.x) ), Azure SQL Database 및 Azure SQL Managed Instance

사용 권한

사용자가 소유하고 있거나 사용 권한을 부여 받은 보안 개체에 대해서만 카탈로그 뷰의 메타데이터를 볼 수 있습니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.

다음 예에서는 데이터베이스의 테이블에 대 한 모든 인덱스를 반환 합니다 Production.Product AdventureWorks2012 .

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  

참고 항목

개체 카탈로그 뷰 (Transact-SQL)
카탈로그 뷰(Transact-SQL)
sys.index_columns(Transact-SQL)
sys.xml_indexes(Transact-SQL)
sys.objects(Transact-SQL)
Transact-sql)sys.key_constraints (
sys.filegroups (Transact-SQL)
sys.partition_schemes(Transact-SQL)
SQL Server 시스템 카탈로그 쿼리 FAQ
메모리 내 OLTP(메모리 내 최적화)