sys.pdw_nodes_partitions (Transact-SQL)
适用于: Azure Synapse Analytics 分析平台系统 (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。 |
行 | bigint | 此分区中的大约行数。 |
data_compression | int | 指示每个分区的压缩状态: 0 = NONE 1 = ROW 2 = PAGE 3 = COLUMNSTORE |
data_compression_desc | nvarchar(60) | 指示每个分区的压缩状态。 可能的值为 NONE、ROW 和 PAGE。 |
pdw_node_id | int | Azure Synapse Analytics 节点的唯一标识符。 |
权限
需要 CONTROL SERVER
权限。
示例:Azure Synapse Analytics 和 Analytics Platform System (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;