sys.pdw_nodes_partitions (Transact-SQL)
適用於:Azure Synapse Analytics Analytics Platform System (PDW)
針對所有數據表的每個分割區,以及 Azure Synapse Analytics 資料庫中的大部分索引類型,各包含一個數據列。 不論數據表和索引是否明確分割,所有數據表和索引都至少包含一個數據分割。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
partition_id | bigint | 數據分割的標識碼。 在資料庫內是唯一的。 |
object_id | int | 這個數據分割所屬之對象的標識碼。 每個數據表或檢視表都由至少一個分割區組成。 |
index_id | int | 這個數據分割所屬物件內的索引標識碼。 |
partition_number | int | 擁有索引或堆積內的1個分割區編號。 針對 Azure Synapse Analytics,此數據行的值是 1。 |
hobt_id | bigint | 包含此數據分割之數據列的數據堆積或 B 型樹狀結構 (HoBT) 識別碼。 |
rows | 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;