sys.internal_partitions(Transact-SQL)
적용 대상: SQL Server 2016(13.x) 이상 Azure SQL Database Azure SQL Managed Instance
디스크 기반 테이블의 columnstore 인덱스에 대한 내부 데이터를 추적하는 각 행 집합에 대해 하나의 행을 반환합니다. 이러한 행 집합은 columnstore 인덱스 내부이며 삭제된 행, 행 그룹 매핑 및 델타 저장소 행 그룹을 추적합니다. 각 테이블 파티션에 대한 데이터를 추적합니다. 모든 테이블에는 하나 이상의 파티션이 있습니다. SQL Server는 columnstore 인덱스를 다시 작성할 때마다 행 집합을 다시 만듭니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
partition_id | bigint | 이 파티션의 파티션 ID입니다. 데이터베이스 내에서 고유합니다. |
object_id | int | 파티션을 포함하는 테이블의 개체 ID입니다. |
index_id | int | 테이블에 정의된 columnstore 인덱스 인덱스 ID입니다. 1 = 클러스터형 columnstore 인덱스 2 = 비클러스터형 columnstore 인덱스 |
partition_number | int | 파티션 번호입니다. 1 = 분할된 테이블의 첫 번째 파티션 또는 분할되지 않은 테이블의 단일 파티션입니다. 2 = 두 번째 파티션 등 |
internal_object_type | tinyint | columnstore 인덱스 내부 데이터를 추적하는 행 집합 개체입니다. 2 = COLUMN_STORE_DELETE_BITMAP 3 = COLUMN_STORE_DELTA_STORE 4 = COLUMN_STORE_DELETE_BUFFER 5 = COLUMN_STORE_MAPPING_INDEX |
internal_object_type_desc | nvarchar(60) | COLUMN_STORE_DELETE_BITMAP - 이 비트맵 인덱스는 columnstore에서 삭제된 것으로 표시된 행을 추적합니다. 비트맵은 파티션에 여러 행 그룹에 행이 있을 수 있으므로 모든 행 그룹에 대한 것입니다. 행은 여전히 물리적으로 존재하며 columnstore에서 공간을 차지합니다. COLUMN_STORE_DELTA_STORE - 열 형식 스토리지로 압축되지 않은 행 그룹이라고 하는 행 그룹을 저장합니다. 각 테이블 파티션에는 0개 이상의 deltastore 행 그룹이 있을 수 있습니다. COLUMN_STORE_DELETE_BUFFER - 업데이트 가능한 비클러스터형 columnstore 인덱스에 대한 삭제를 유지 관리합니다. 쿼리가 기본 rowstore 테이블에서 행을 삭제하면 삭제 버퍼는 columnstore에서 삭제를 추적합니다. 삭제된 행 수가 1048576 초과하면 백그라운드 튜플 Mover 스레드 또는 명시적 재구성 명령을 통해 삭제 비트맵으로 다시 병합됩니다. 지정된 시점에서 삭제 비트맵과 삭제 버퍼의 합합은 삭제된 모든 행을 나타냅니다. COLUMN_STORE_MAPPING_INDEX - 클러스터형 columnstore 인덱스가 보조 비클러스터형 인덱스가 있는 경우에만 사용됩니다. 이렇게 하면 비클러스터형 인덱스 키가 columnstore의 올바른 행 그룹 및 행 ID에 매핑됩니다. 다른 행 그룹으로 이동하는 행의 키만 저장합니다. 이는 델타 행 그룹이 columnstore로 압축되고 병합 작업이 서로 다른 두 행 그룹의 행을 병합할 때 발생합니다. |
Row_group_id | int | deltastore 행 그룹의 ID입니다. 각 테이블 파티션에는 0개 이상의 deltastore 행 그룹이 있을 수 있습니다. |
hobt_id | bigint | HoBT(내부 행 집합 개체)의 ID입니다. 이는 다른 DMV와 조인하여 내부 행 집합의 물리적 특성에 대한 자세한 정보를 얻기 위한 좋은 키입니다. |
rows | bigint | 이 파티션의 대략적인 행 수입니다. |
data_compression | tinyint | 행 집합에 대한 압축 상태입니다. 0 = NONE 1 = 행 2 = PAGE |
data_compression_desc | nvarchar(60) | 각 파티션에 대한 압축 상태입니다. rowstore 테이블에 사용할 수 있는 값은 NONE, ROW 및 PAGE입니다. columnstore 테이블에 사용할 수 있는 값은 COLUMNSTORE 및 COLUMNSTORE_ARCHIVE. |
optimize_for_sequential_key | bit | 1 = 파티션에 마지막 페이지 삽입 최적화가 활성화되어 있습니다. 0 = 기본값입니다. 파티션의 마지막 페이지 삽입 최적화를 사용할 수 없습니다. |
사용 권한
public
역할의 멤버 자격이 필요합니다. 자세한 내용은 Metadata Visibility Configuration을 참조하세요.
일반적인 주의 사항
SQL Server는 columnstore 인덱스를 만들거나 다시 작성할 때마다 새 columnstore 내부 인덱스를 다시 만듭니다.
예제
A. 테이블에 대한 모든 내부 행 집합 보기
다음은 테이블에 대한 모든 내부 columnstore 행 집합을 반환하는 예제입니다. hobt_id 사용하여 특정 행 집합에 대한 자세한 정보를 찾을 수도 있습니다.
SELECT i.object_id, i.index_id, i.name, p.hobt_id, p.internal_object_type_id, p.internal_object_type_desc
FROM sys.internal_partitions AS p
JOIN sys.indexes AS i
on i.object_id = p.object_id
WHERE p.object_id = OBJECT_ID ( '<table name' ) ;
참고 항목
개체 카탈로그 뷰(Transact-SQL)
카탈로그 뷰(Transact-SQL)
SQL Server 시스템 카탈로그 쿼리 FAQ