sys.pdw_nodes_partitions(Transact-SQL)
적용 대상: Azure Synapse Analytics Analytics Platform System(PDW)
모든 테이블의 각 파티션에 대한 행과 Azure Synapse Analytics 데이터베이스의 대부분의 인덱스 유형을 포함합니다. 모든 테이블 및 인덱스에는 명시적으로 분할되었는지 여부에 관계없이 하나 이상의 파티션이 포함됩니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
partition_id | bigint | 파티션의 ID입니다. 데이터베이스 내에서 고유합니다. |
object_id | int | 이 파티션이 속한 개체의 ID입니다. 모든 테이블 또는 뷰는 하나 이상의 파티션으로 구성됩니다. |
index_id | int | 이 파티션이 속한 개체 내의 인덱스 ID입니다. |
partition_number | int | 소유 인덱스 또는 힙 내의 1부터 시작하는 파티션 번호입니다. Azure Synapse Analytics의 경우 이 열의 값은 1입니다. |
hobt_id | bigint | 이 파티션의 행을 포함하는 데이터 힙 또는 B-트리(HoBT)의 ID입니다. |
rows | bigint | 이 파티션의 대략적인 행 수입니다. |
data_compression | int | 각 파티션에 대한 압축 상태를 나타냅니다. 0 = NONE 1 = 행 2 = PAGE 3 = COLUMNSTORE |
data_compression_desc | nvarchar(60) | 각 파티션에 대한 압축 상태를 나타냅니다. 가능한 값은 NONE, ROW 및 PAGE입니다. |
pdw_node_id | int | Azure Synapse Analytics 노드의 고유 식별자입니다. |
사용 권한
CONTROL SERVER
권한이 필요합니다.
예: Azure Synapse Analytics 및 분석 플랫폼 시스템(PDW)
예제 A: 각 배포 내의 각 파티션에 행 표시
적용 대상: Azure Synapse Analytics, Analytics Platform System(PDW)
각 배포 내에서 각 파티션의 행 수를 표시하려면 DBCC PDW_SHOWPARTITIONSTATS(SQL Server PDW)를 사용합니다.
예제 B: 시스템 뷰를 사용하여 각 테이블 배포의 각 파티션에서 행 보기
적용 대상: Azure Synapse Analytics
이 쿼리는 각 테이블 myTable
배포의 각 파티션에 있는 행 수를 반환합니다.
SELECT o.name, pnp.index_id, pnp.partition_id, pnp.rows,
pnp.data_compression_desc, pnp.pdw_node_id
FROM sys.pdw_nodes_partitions AS pnp
JOIN sys.pdw_nodes_tables AS NTables
ON pnp.object_id = NTables.object_id
AND pnp.pdw_node_id = NTables.pdw_node_id
JOIN sys.pdw_table_mappings AS TMap
ON NTables.name = TMap.physical_name
AND substring(TMap.physical_name,40, 10) = pnp.distribution_id
JOIN sys.objects AS o
ON TMap.object_id = o.object_id
WHERE o.name = 'myTable'
ORDER BY o.name, pnp.index_id, pnp.partition_id;