- 카테고리:
시스템 함수 (시스템 정보)
SYSTEM$CLUSTERING_DEPTH¶
지정된 열(또는 테이블에 대해 정의된 클러스터링 키)에 따라 테이블의 평균 깊이를 계산합니다. 채워진 테이블(즉, 데이터를 포함하는 테이블)의 평균 깊이는 항상 1 이상입니다. 평균 깊이가 작을수록 지정된 열에 대해 테이블이 더 잘 클러스터링됩니다.
마이크로 파티션 및 클러스터링 키에 대한 자세한 내용은 Snowflake 테이블 구조 이해하기 를 참조하십시오.
구문¶
SYSTEM$CLUSTERING_DEPTH( '<table_name>' , '( <col1> [ , <col2> ... ] )' [ , '<predicate>' ] )
인자¶
table_name클러스터링 깊이를 계산할 테이블입니다.
col1 [ , col2 ... ]클러스터링 깊이를 계산하는 데 사용되는 테이블의 열:
클러스터링 키가 없는 테이블의 경우, 이 인자가 필요합니다. 이 인자를 생략하면 오류가 반환됩니다.
클러스터링 키가 있는 테이블의 경우, 이 인자는 선택 사항입니다. 인자가 생략되면 Snowflake는 정의된 클러스터링 키를 사용하여 깊이를 계산합니다.
참고
이 인자를 사용하여, 테이블에 대해 정의된 클러스터링 키와 관계없이 테이블의 모든 열에 대한 깊이를 계산할 수 있습니다.
predicate클러스터링 깊이를 계산할 열의 값 범위를 필터링하는 절입니다.
predicate는 절의 시작 부분에서 WHERE 키워드를 사용하지 않습니다.
사용법 노트¶
모든 인자는 문자열입니다(즉, 작은따옴표로 묶어야 함).
predicate가 문자열을 포함하는 경우, 문자열은 작은따옴표로 묶어야 하며, 작은따옴표를 사용하여 이스케이프해야 합니다. 예:SYSTEM$CLUSTERING_DEPTH( ... , 'col1 = 100 and col2 = ''A''' )
예¶
테이블에 대해 정의된 클러스터링 키를 사용하여 테이블의 클러스터링 깊이를 계산합니다.
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS'); +----------------------------------------+ | SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS') | |----------------------------------------+ | 2.4865 | +----------------------------------------+
테이블의 두 열을 사용하여 테이블의 클러스터링 깊이를 계산합니다.
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)'); +----------------------------------------------------+ | SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)') | +----------------------------------------------------+ | 23.1351 | +----------------------------------------------------+
이전 예와 동일하지만, 열 중 하나에 조건자가 있습니다.
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)', 'C2 = 25'); +----------------------------------------------------+ | SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)') | +----------------------------------------------------+ | 11.2452 | +----------------------------------------------------+