SYSTEM$CLUSTERING_DEPTH
SYSTEM$CLUSTERING_DEPTH
지정된 열(또는 테이블에 정의된 클러스터링 키)을 기준으로 테이블의 평균 깊이(depth)를 계산해요. 데이터가 들어 있는(즉 데이터를 포함하는) 테이블의 평균 깊이는 항상 1 이상이에요. 평균 깊이가 작을수록 지정된 열에 대해 테이블이 더 잘 클러스터링되어 있다는 뜻이에요.
본문
참고 항목: SYSTEM$CLUSTERING_INFORMATION
구문 (Syntax)
SYSTEM$CLUSTERING_DEPTH( '<table_name>' , '( <col1> [ , <col2> ... ] )' [ , '<predicate>' ] )
인자 (Arguments)
table_name— 클러스터링 깊이를 계산할 테이블이에요.col1 [ , col2 ... ]— 클러스터링 깊이를 계산하는 데 사용할 테이블의 열이에요.- 클러스터링 키가 없는 테이블의 경우 이 인자는 필수예요. 이 인자를 생략하면 오류가 반환돼요.
- 클러스터링 키가 있는 테이블의 경우 이 인자는 선택 사항이에요. 인자를 생략하면 Snowflake가 정의된 클러스터링 키를 사용해 깊이를 계산해요.
- 참고: 테이블에 대해 정의된 클러스터링 키와 관계없이 이 인자를 사용해 테이블의 모든 열에 대한 깊이를 계산할 수 있어요.
predicate— 클러스터링 깊이를 계산할 열의 값 범위를 필터링하는 절이에요.predicate는 절의 시작 부분에 WHERE 키워드를 사용하지 않는 점에 유의하세요.
사용 참고 (Usage Notes)
- 모든 인자는 문자열이에요(즉 작은따옴표로 묶어야 해요).
predicate에 문자열이 포함되면 그 문자열은 작은따옴표로 묶어야 하며, 작은따옴표를 사용해 이스케이프해야 해요. 예:SYSTEM$CLUSTERING_DEPTH( ... , 'col1 = 100 and col2 = ''A''' )
예제 (Examples)
테이블에 정의된 클러스터링 키를 사용해 해당 테이블의 클러스터링 깊이를 계산해요:
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 |
+----------------------------------------------------+
이전 예제와 같지만 한 열에 조건(predicate)을 지정해요:
SELECT SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)', 'C2 = 25');
+----------------------------------------------------+
| SYSTEM$CLUSTERING_DEPTH('TPCH_ORDERS', '(C2, C9)') |
+----------------------------------------------------+
| 11.2452 |
+----------------------------------------------------+
더 알아보기
- Snowflake 시스템 정보 함수 — 관련 시스템 함수 전체 목록