- 카테고리:
시스템 함수 (시스템 정보)
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 | +----------------------------------------------------+