다음을 통해 공유


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)