스키마:

ACCOUNT_USAGE

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

NUM_SCANS 에 설명된 스캔 작업 중에 스캔된 파티션 수입니다.

PARTITIONS_PRUNED_DEFAULT

NUMBER

NUM_SCANS 에 설명된 스캔 작업 중에 데이터의 기본(자연스러운) 정렬이 이루어진 결과로 정리된 파티션 수입니다.

PARTITIONS_PRUNED_ADDITIONAL

NUMBER

NUM_SCANS 에 설명된 스캔 작업 중 검색 최적화 의 결과로 정리된 파티션 수입니다.

사용법 노트

  • 뷰의 지연 시간은 최대 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;
Copy

위의 예에서는 정리된 파티션 수가 0개일 때 0으로 나누지 않도록 하기 위해 GREATEST 를 사용합니다.