sys.indexes(Transact-SQL)

적용 대상:SQL ServerAzure SQL 데이터베이스Azure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System(PDW)

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

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

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

0 = 힙

1 = 클러스터형 인덱스

> 1 = 비클러스터형 인덱스
type tinyint 인덱스 유형:

0 = 힙

1 = 클러스터형 rowstore(B-트리)

2 = 비클러스터형 rowstore(B-트리)

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

공간

CLUSTERED COLUMNSTORE - 적용 대상: SQL Server 2014(12.x) 이상

비클러스터형 COLUMNSTORE - 적용 대상: SQL Server 2012(11.x) 이상

비클러스터형 해시: 비클러스터형 해시 인덱스는 메모리 최적화 테이블에서만 지원됩니다. 보기에는 sys.hash_indexes 현재 해시 인덱스 및 해시 속성이 표시됩니다. 자세한 내용은 sys.hash_indexes(Transact-SQL)를 참조 하세요. 적용 대상: 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을 참조하세요.

예제

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

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)
sys.key_constraints(Transact-SQL)
sys.filegroups(Transact-SQL)
sys.partition_schemes(Transact-SQL)
SQL Server 시스템 카탈로그 쿼리 FAQ
메모리 내 OLTP(메모리 내 최적화)