스키마:

ACCOUNT_USAGE

QUERY_INSIGHTS 뷰

이 Account Usage 뷰는 쿼리에 대해 생성된 각 인사이트 에 대해 행을 표시합니다.

열 이름

타입

설명

start_time

TIMESTAMP_LTZ

쿼리의 시작 시간입니다.

end_time

TIMESTAMP_LTZ

쿼리의 종료 시간입니다.

total_elapsed_time

NUMBER

쿼리의 총 경과 시간(밀리초)입니다.

query_id

VARCHAR

SQL 문의 내부/시스템 생성 식별자입니다.

query_hash

VARCHAR

표준화된 SQL 텍스트를 기반으로 계산된 해시 값 입니다.

query_parameterized_hash

VARCHAR

매개 변수가 있는 쿼리를 기반으로 계산된 해시 값 입니다.

warehouse_id

VARCHAR

사용된 웨어하우스의 내부/시스템 생성 식별자입니다.

warehouse_name

VARCHAR

쿼리가 실행된 웨어하우스입니다(있는 경우).

insight_instance_id

NUMBER

인사이트의 내부/시스템 생성 식별자입니다.

insight_type_id

VARCHAR

인사이트 타입 의 식별자입니다.

message

VARIANT

인사이트에 대한 정형 정보 및 세부 정보입니다.

suggestions

ARRAY

각각 인사이트에 대한 권장 작업을 포함하는 문자열 배열입니다.

is_opportunity

BOOLEAN

true 인 경우 인사이트에는 쿼리 성능을 개선하기 위한 제안 사항이 포함되어 있습니다. 예:

  • ID QUERY_INSIGHT_NO_FILTER_ON_TOP_OF_TABLE_SCAN 타입의 인사이트에는 성능 개선을 위한 제안 사항이 포함되어 있으므로 이 열에 true 가 포함됩니다.

  • ID QUERY_INSIGHT_FILTER_WITH_CLUSTERING_KEY 타입의 인사이트에는 성능 개선을 위한 제안 사항이 포함되어 있지 않으므로 이 열에 false 가 포함됩니다.

insight_topic

VARCHAR

이 인사이트로 감지된 성능 영향의 타입을 식별하는 레이블입니다.

레이블은 다음 중 하나일 수 있습니다.

  • TABLE_SCAN: 테이블 액세스 효율성에 대한 인사이트입니다. 이 레이블은 다음 타입의 인사이트에 적용됩니다.

    • QUERY_INSIGHT_NO_FILTER_ON_TOP_OF_TABLE_SCAN

    • QUERY_INSIGHT_INAPPLICABLE_FILTER_ON_TABLE_SCAN

    • QUERY_INSIGHT_UNSELECTIVE_FILTER

    • QUERY_INSIGHT_FILTER_WITH_CLUSTERING_KEY

    • QUERY_INSIGHT_SEARCH_OPTIMIZATION_USED

  • JOIN: 쿼리의 JOIN 작업 효율성에 대한 인사이트입니다. 이 레이블은 다음 타입의 인사이트에 적용됩니다.

    • QUERY_INSIGHT_JOIN_WITH_NO_JOIN_CONDITION

    • QUERY_INSIGHT_NESTED_EXPLODING_JOIN

    • QUERY_INSIGHT_EXPLODING_JOIN

  • WAREHOUSE: 쿼리에 사용된 웨어하우스에 대한 인사이트입니다. 이 레이블은 다음 타입의 인사이트에 적용됩니다.

    • QUERY_INSIGHT_REMOTE_SPILLAGE

사용법 노트

  • 뷰의 지연 시간은 최대 90분입니다.

다음 예제는 ID 01bd3a9d-0910-8327-0000-09717704c032 가 있는 쿼리에 대한 쿼리 인사이트를 반환합니다.

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE query_id = '01bd3a9d-0910-8327-0000-09717704c032';
Copy

다음 예제는 동일한 매개 변수화된 쿼리 텍스트의 해시 가 있는 쿼리에 대한 쿼리 인사이트를 반환합니다. 문에 지정된 리터럴을 제외하고 동일한 SELECT 문을 사용하는 쿼리입니다.

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE query_parameterized_hash = '4bb66effc1a3c8b4e94a728f7caaa736';
Copy

다음 예제에서는 지난 한 주 동안 실행된 쿼리에 대한 쿼리 인사이트를 반환합니다.

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()));
Copy

다음 예제에서는 지난 주에 실행되었으며 완료하는 데 1시간 이상 걸린 쿼리에 대한 쿼리 인사이트를 반환합니다.

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()))
    AND total_duration > 3600000;
Copy

다음 예제에서는 지난 주에 실행되었으며 완료하는 데 1시간 이상 걸렸고 ID가 84412315 인 웨어하우스를 사용한 쿼리에 대한 쿼리 인사이트를 반환합니다.

SELECT query_id, insight_type_id, message, suggestions
  FROM SNOWFLAKE.ACCOUNT_USAGE.QUERY_INSIGHTS
  WHERE start_time > TO_DATE(DATEADD(DAY, -7, CURRENT_DATE()))
    AND total_duration > 3600000
    AND warehouse_id = 84412315;
Copy