- 스키마:
SEARCH_OPTIMIZATION_BENEFITS 뷰¶
이 Account Usage 뷰는 검색 최적화 로 인한 정리의 유효성을 확인하는 데 사용할 수 있습니다.
이 뷰에서는 TABLE_PRUNING_HISTORY 뷰 에서 제공하는 정보와 유사한 정리에 대한 정보를 제공합니다. 검색 최적화로 인한 정리와 반대로, TABLE_PRUNING_HISTORY 뷰는 모든 정리에 대한 정보를 제공합니다.
이 뷰를 사용하면 테이블에 검색 최적화를 추가하기 전과 후에 정리에 미치는 효과를 비교할 수 있습니다. 이 뷰를 쿼리하는 경우 검색 최적화로 인해 정리된 파티션 수(PARTITIONS_PRUNED_ADDITIONAL
)를 정리된 총 파티션 수(PARTITIONS_PRUNED_DEFAULT + PARTITIONS_PRUNED_ADDITIONAL
)와 비교합니다.
열¶
열 이름 |
데이터 타입 |
설명 |
---|---|---|
START_TIME |
TIMESTAMP_LTZ |
쿼리가 실행된 시간 범위의 시작(시간 기준)입니다. |
END_TIME |
TIMESTAMP_LTZ |
쿼리가 실행된 시간 범위의 끝(시간 기준)입니다. |
TABLE_ID |
NUMBER |
쿼리된 테이블의 내부/시스템 생성 식별자입니다. |
TABLE_NAME |
TEXT |
쿼리된 테이블의 이름입니다. |
SCHEMA_ID |
NUMBER |
쿼리된 테이블을 포함하는 스키마에 대한 내부/시스템 생성 식별자입니다. |
SCHEMA_NAME |
TEXT |
쿼리된 테이블을 포함하는 스키마의 이름입니다. |
DATABASE_ID |
NUMBER |
쿼리된 테이블을 포함하는 데이터베이스의 내부/시스템 생성 식별자입니다. |
DATABASE_NAME |
TEXT |
쿼리된 테이블을 포함하는 데이터베이스의 이름입니다. |
NUM_SCANS |
NUMBER |
(START_TIME 및 END_TIME 기간 동안 테이블에 대한 모든 쿼리에서) 검색 최적화 를 사용하여 정리를 개선한 스캔 작업 수입니다. 주어진 쿼리로 인해 동일한 테이블에 대해 여러 스캔 작업이 수행될 수 있습니다. |
PARTITIONS_SCANNED |
NUMBER |
|
PARTITIONS_PRUNED_DEFAULT |
NUMBER |
|
PARTITIONS_PRUNED_ADDITIONAL |
NUMBER |
|
사용법 노트¶
뷰의 지연 시간은 최대 6시간입니다.
예¶
지난 7일 동안 검색 최적화로 가장 큰 이익을 본 상위 5개 테이블을 나열합니다.
SELECT
table_id,
ANY_VALUE(table_name) AS table_name,
SUM(num_scans) AS total_num_scans,
SUM(partitions_pruned_default) AS total_partitions_pruned_default,
SUM(partitions_pruned_additional) AS total_partitions_pruned_additional,
SUM(partitions_scanned) AS total_partitions_scanned
FROM SNOWFLAKE.ACCOUNT_USAGE.SEARCH_OPTIMIZATION_BENEFITS
WHERE start_time >= DATEADD(day, -7, CURRENT_TIMESTAMP())
GROUP BY table_id
ORDER BY
total_partitions_pruned_additional / GREATEST(total_partitions_pruned_default + total_partitions_pruned_additional, 1) DESC,
total_partitions_pruned_additional DESC
LIMIT 5;
위의 예에서는 정리된 파티션 수가 0개일 때 0으로 나누지 않도록 하기 위해 GREATEST 를 사용합니다.