sys.pdw_nodes_column_store_segments (Transact-SQL)
適用対象: Azure Synapse Analytics Analytics Platform System (PDW)
列ストア インデックス内の各列の行を格納します。
列名 | データ型 | 説明 |
---|---|---|
partition_id | bigint | パーティション ID を示します。 データベース内で一意です。 |
hobt_id | bigint | この列ストア インデックスを持つテーブルのヒープまたは B ツリー インデックス (ホブ) の ID。 |
column_id | int | 列ストア列の ID。 |
segment_id | int | 列セグメントの ID。 旧バージョンとの互換性のために、行グループ ID であっても、列名は引き続きsegment_id呼び出されます。 <hobt_id、partition_id、column_id>、<segment_id>を使用してセグメントを一意に識別できます。 |
version | int | 列セグメント形式のバージョン。 |
encoding_type | int | そのセグメントに使用されるエンコードの種類: 1 = VALUE_BASED - 辞書のない非文字列/バイナリ (いくつかの内部バリエーションを含む 4 に似ています) 2 = VALUE_HASH_BASED - ディクショナリ内の共通値を持つ非文字列/バイナリ列 3 = STRING_HASH_BASED - ディクショナリ内の共通値を持つ文字列/バイナリ列 4 = STORE_BY_VALUE_BASED - ディクショナリのない非文字列/バイナリ 5 = STRING_STORE_BY_VALUE_BASED - ディクショナリのない文字列/バイナリ 可能であれば、すべてのエンコードでビット パッキングと実行長のエンコードが利用されます。 |
row_count | int | 行グループ内の行数。 |
has_nulls | int | 列セグメントに null 値がある場合は 1。 |
base_id | bigint | エンコード・タイプ 1 が使用されている場合の基本値 ID。 エンコードの種類 1 が使用されていない場合、base_idは 1 に設定されます。 |
magnitude | float | エンコードの種類 1 が使用されている場合の大きさ。 エンコード・タイプ 1 が使用されていない場合、大きさは 1 に設定されます。 |
primary__dictionary_id | int | プライマリ ディクショナリの ID。 0 以外の値は、現在のセグメント (つまり行グループ) 内のこの列のローカル ディクショナリを指します。 値 -1 は、このセグメントにローカル ディクショナリがないことを示します。 |
secondary_dictionary_id | int | セカンダリ ディクショナリの ID。 0 以外の値は、現在のセグメント (つまり行グループ) 内のこの列のローカル ディクショナリを指します。 値 -1 は、このセグメントにローカル ディクショナリがないことを示します。 |
min_data_id | bigint | 列セグメント内の最小データ ID。 |
max_data_id | bigint | 列セグメント内の最大データ ID。 |
null_value | bigint | NULL を表すために使用される値。 |
on_disk_size | bigint | セグメントのサイズ (バイト単位)。 |
pdw_node_id | int | Azure Synapse Analytics ノードの一意識別子。 |
例: Azure Synapse Analytics、Analytics Platform System (PDW)
sys.pdw_nodes_column_store_segments他のシステム テーブルと結合して、論理テーブルあたりの列ストア セグメントの数を決定します。
SELECT sm.name as schema_nm
, tb.name as table_nm
, nc.name as col_nm
, nc.column_id
, COUNT(*) as segment_count
FROM sys.[schemas] sm
JOIN sys.[tables] tb ON sm.[schema_id] = tb.[schema_id]
JOIN sys.[pdw_table_mappings] mp ON tb.[object_id] = mp.[object_id]
JOIN sys.[pdw_nodes_tables] nt ON nt.[name] = mp.[physical_name]
JOIN sys.[pdw_nodes_partitions] np ON np.[object_id] = nt.[object_id]
AND np.[pdw_node_id] = nt.[pdw_node_id]
AND np.[distribution_id] = nt.[distribution_id]
JOIN sys.[pdw_nodes_columns] nc ON np.[object_id] = nc.[object_id]
AND np.[pdw_node_id] = nc.[pdw_node_id]
AND np.[distribution_id] = nc.[distribution_id]
JOIN sys.[pdw_nodes_column_store_segments] rg ON rg.[partition_id] = np.[partition_id]
AND rg.[pdw_node_id] = np.[pdw_node_id]
AND rg.[distribution_id] = np.[distribution_id]
AND rg.[column_id] = nc.[column_id]
GROUP BY sm.name
, tb.name
, nc.name
, nc.column_id
ORDER BY table_nm
, nc.column_id
, sm.name ;
アクセス許可
VIEW SERVER STATE アクセス許可が必要です。
参照
Azure Synapse Analytics と Parallel Data Warehouse のカタログ ビュー
CREATE COLUMNSTORE INDEX (Transact-SQL)
sys.pdw_nodes_column_store_row_groups (Transact-SQL)
sys.pdw_nodes_column_store_dictionaries (Transact-SQL)