sys.indexes(Transact-SQL)
적용 대상: Microsoft Fabric의 SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW) SQL 데이터베이스
테이블, 뷰 또는 테이블 반환 함수와 같은 테이블 형식 개체의 인덱스 또는 힙당 하나의 행을 포함합니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
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(메모리 내 최적화)