sys.pdw_nodes_column_store_segments(Transact-SQL)
적용 대상: Azure Synapse Analytics Analytics Platform System(PDW)
columnstore 인덱스의 각 열에 대한 행을 포함합니다.
열 이름 | 데이터 형식 | 설명 |
---|---|---|
partition_id | bigint | 파티션 ID를 나타냅니다. 데이터베이스 내에서 고유합니다. |
hobt_id | bigint | 이 columnstore 인덱스가 있는 테이블의 힙 또는 B-트리 인덱스(호트)의 ID입니다. |
column_id | int | columnstore 열의 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 및 분석 플랫폼 시스템(PDW)
sys.pdw_nodes_column_store_segments 다른 시스템 테이블과 조인하여 논리 테이블당 columnstore 세그먼트 수를 결정합니다.
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 및 병렬 데이터 웨어하우스 카탈로그 뷰
CREATE COLUMNSTORE INDEX(Transact-SQL)
sys.pdw_nodes_column_store_row_groups(Transact-SQL)
sys.pdw_nodes_column_store_dictionaries(Transact-SQL)