sys.pdw_nodes_partitions (Transact-SQL)
適用対象: Azure Synapse Analytics Analytics Platform System (PDW)
すべてのテーブルの各パーティションの行と、Azure Synapse Analytics データベース内のほとんどの種類のインデックスが含まれます。 すべてのテーブルとインデックスには、明示的にパーティション分割されているかどうかに関係なく、少なくとも 1 つのパーティションが含まれます。
列名 | データ型 | 説明 |
---|---|---|
partition_id | bigint | パーティションの ID。 データベース内で一意です。 |
object_id | int | このパーティションが属するオブジェクトの ID。 すべてのテーブルまたはビューは、少なくとも 1 つのパーティションで構成されます。 |
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 = 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;