스키마:

ACCOUNT_USAGE , READER_ACCOUNT_USAGE

QUERY_HISTORY 뷰

이 Account Usage 뷰는 지난 365일(1년) 내 다양한 차원(시간 범위, 세션, 사용자, 웨어하우스 등)별로 Snowflake 쿼리 기록을 쿼리하는 데 사용할 수 있습니다.

이 뷰는 ACCOUNT_USAGE 및 READER_ACCOUNT_USAGE 스키마 모두에서 사용할 수 있으며 다음과 같은 차이점이 있습니다.

  • 다음 열은 오직 독자 계정 뷰에서만 사용할 수 있습니다.

    • READER_ACCOUNT_NAME

  • 다음 열은 독자 계정 뷰에서 제공되지 않습니다.

    • QUERY_ACCELERATION_BYTES_SCANNED

    • QUERY_ACCELERATION_PARTITIONS_SCANNED

    • QUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTOR

참고 항목:

QUERY_HISTORY , QUERY_HISTORY_BY_* (Information Schema 테이블 함수) 쿼리 기록으로 쿼리 활동 모니터링하기 (Snowsight 대시보드)

열 이름

데이터 타입

설명

READER_ACCOUNT_NAME

TEXT

SQL 문이 실행된 독자 계정의 이름입니다.

QUERY_ID

TEXT

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

QUERY_TEXT

TEXT

SQL 문의 텍스트입니다. 한도는 100K자입니다. 100K자를 초과하는 SQL 문은 잘립니다.

DATABASE_ID

NUMBER

사용 중이었던 데이터베이스의 내부/시스템 생성 식별자입니다.

DATABASE_NAME

TEXT

컴파일 시 쿼리 컨텍스트에 지정된 데이터베이스입니다.

SCHEMA_ID

NUMBER

사용 중이었던 스키마의 내부/시스템 생성 식별자입니다.

SCHEMA_NAME

TEXT

컴파일 시 쿼리 컨텍스트에 지정된 스키마입니다.

QUERY_TYPE

TEXT

DML, 쿼리 등입니다. 쿼리가 실패한 경우, 쿼리 유형이 UNKNOWN 일 수 있습니다.

SESSION_ID

NUMBER

문을 실행한 세션입니다.

USER_NAME

TEXT

쿼리를 실행한 사용자입니다.

ROLE_NAME

TEXT

쿼리 당시 세션에서 활성 상태였던 역할입니다.

WAREHOUSE_ID

NUMBER

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

WAREHOUSE_NAME

TEXT

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

WAREHOUSE_SIZE

TEXT

이 문이 실행될 때 웨어하우스의 크기입니다.

WAREHOUSE_TYPE

TEXT

이 문이 실행될 때 웨어하우스의 유형입니다.

CLUSTER_NUMBER

NUMBER

이 문이 실행된 클러스터(다중 클러스터 웨어하우스 내)입니다.

QUERY_TAG

TEXT

QUERY_TAG 세션 매개 변수를 통해 이 문에 대해 설정된 쿼리 태그입니다.

EXECUTION_STATUS

TEXT

쿼리의 실행 상태. 유효한 값: success, fail, incident.

ERROR_CODE

NUMBER

쿼리가 오류를 반환한 경우 오류 코드입니다.

ERROR_MESSAGE

TEXT

쿼리가 오류를 반환한 경우 오류 메시지입니다.

START_TIME

TIMESTAMP_LTZ

문 시작 시간(현지 타임존)입니다.

END_TIME

TIMESTAMP_LTZ

문 종료 시간(현지 타임존)입니다.

TOTAL_ELAPSED_TIME

NUMBER

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

BYTES_SCANNED

NUMBER

이 문이 스캔한 바이트 수입니다.

PERCENTAGE_SCANNED_FROM_CACHE

FLOAT

로컬 디스크 캐시에서 스캔한 데이터의 백분율입니다. 값의 범위는 0.0에서 1.0입니다. 실제 백분율을 얻으려면 100을 곱하십시오.

BYTES_WRITTEN

NUMBER

작성된 바이트 수입니다(예: 테이블에 로딩될 때).

BYTES_WRITTEN_TO_RESULT

NUMBER

결과 오브젝트에 작성된 바이트 수입니다. 예를 들어, select * from . . . 은 선택 항목에 있는 각 필드를 나타내는 표 형식의 결과 세트를 생성합니다. . . 일반적으로, 결과 오브젝트는 쿼리의 결과로 생성된 모든 것을 나타내고 BYTES_WRITTEN_TO_RESULT 는 반환된 결과의 크기를 나타냅니다.

BYTES_READ_FROM_RESULT

NUMBER

결과 오브젝트에서 읽은 바이트 수입니다.

ROWS_PRODUCED

NUMBER

이 문이 생성한 행 수입니다.

ROWS_INSERTED

NUMBER

쿼리가 삽입한 행 수입니다.

ROWS_UPDATED

NUMBER

쿼리가 업데이트한 행 수입니다.

ROWS_DELETED

NUMBER

쿼리가 삭제한 행 수입니다.

ROWS_UNLOADED

NUMBER

데이터 내보내기 중 언로딩된 행 수입니다.

BYTES_DELETED

NUMBER

쿼리가 삭제한 바이트 수입니다.

PARTITIONS_SCANNED

NUMBER

스캔한 마이크로 파티션의 수입니다.

PARTITIONS_TOTAL

NUMBER

이 쿼리에 포함된 모든 테이블의 총 마이크로 파티션입니다.

BYTES_SPILLED_TO_LOCAL_STORAGE

NUMBER

로컬 디스크로 유출된 데이터의 볼륨입니다.

BYTES_SPILLED_TO_REMOTE_STORAGE

NUMBER

원격 디스크로 유출된 데이터의 볼륨입니다.

BYTES_SENT_OVER_THE_NETWORK

NUMBER

네트워크를 통해 전송된 데이터의 볼륨입니다.

COMPILATION_TIME

NUMBER

컴파일 시간(밀리초)입니다.

EXECUTION_TIME

NUMBER

실행 시간(밀리초)입니다.

QUEUED_PROVISIONING_TIME

NUMBER

웨어하우스 큐에서 소요된 시간(밀리초)으로, 웨어하우스 생성, 재개 또는 크기 조정으로 인해 웨어하우스 컴퓨팅 리소스가 프로비저닝되기를 기다리는 데 걸린 시간입니다.

QUEUED_REPAIR_TIME

NUMBER

웨어하우스 큐에서 소요된 시간(밀리초)으로, 웨어하우스의 컴퓨팅 리소스가 복구되기를 기다리는 데 걸린 시간입니다.

QUEUED_OVERLOAD_TIME

NUMBER

현재 쿼리 워크로드로 인해 웨어하우스가 오버로드되어 웨어하우스 큐에서 소요된 시간(밀리초)입니다.

TRANSACTION_BLOCKED_TIME

NUMBER

동시 DML에 의해 차단된 시간(밀리초)입니다.

OUTBOUND_DATA_TRANSFER_CLOUD

TEXT

데이터를 다른 리전 및/또는 클라우드로 언로딩하는 문에 대한 대상 클라우드 공급자입니다.

OUTBOUND_DATA_TRANSFER_REGION

TEXT

데이터를 다른 리전 및/또는 클라우드로 언로딩하는 문에 대한 대상 리전입니다.

OUTBOUND_DATA_TRANSFER_BYTES

NUMBER

데이터를 다른 리전 및/또는 클라우드로 언로딩하는 문에서 전송된 바이트 수입니다.

INBOUND_DATA_TRANSFER_CLOUD

TEXT

데이터를 다른 리전 및/또는 클라우드에서 로딩하는 문에 대한 소스 클라우드 공급자입니다.

INBOUND_DATA_TRANSFER_REGION

TEXT

데이터를 다른 리전 및/또는 클라우드에서 로딩하는 문에 대한 소스 리전입니다.

INBOUND_DATA_TRANSFER_BYTES

NUMBER

다른 계정에서 복제 작업으로 전송된 바이트 수입니다. 원본 계정은 현재 계정과 동일한 리전에 있을 수도 있고 다른 리전에 있을 수도 있습니다.

LIST_EXTERNAL_FILES_TIME

NUMBER

외부 파일을 나열하는 데 소요된 시간(밀리초)입니다.

CREDITS_USED_CLOUD_SERVICES

NUMBER

클라우드 서비스에 사용된 크레딧 수입니다. 이 값은 클라우드 서비스 조정 을 고려하지 않으므로 청구되는 크레딧보다 클 수 있습니다. 실제로 청구된 크레딧 수를 확인하려면 METERING_DAILY_HISTORY 뷰 에 대해 쿼리를 실행하십시오.

RELEASE_VERSION

TEXT

major_release.minor_release.patch_release 형식의 릴리스 버전입니다.

EXTERNAL_FUNCTION_TOTAL_INVOCATIONS

NUMBER

이 쿼리가 원격 서비스를 호출한 총 횟수입니다. 중요한 세부 정보는 사용법 노트를 참조하십시오.

EXTERNAL_FUNCTION_TOTAL_SENT_ROWS

NUMBER

이 쿼리가 모든 원격 서비스에 대한 모든 호출에서 보낸 총 행 수입니다.

EXTERNAL_FUNCTION_TOTAL_RECEIVED_ROWS

NUMBER

이 쿼리가 모든 원격 서비스에 대한 모든 호출에서 수신한 총 행 수입니다.

EXTERNAL_FUNCTION_TOTAL_SENT_BYTES

NUMBER

이 쿼리가 모든 원격 서비스에 대한 모든 호출에서 보낸 총 바이트 수입니다.

EXTERNAL_FUNCTION_TOTAL_RECEIVED_BYTES

NUMBER

이 쿼리가 모든 원격 서비스에 대한 모든 호출에서 수신한 총 바이트 수입니다.

QUERY_LOAD_PERCENT

NUMBER

이 쿼리 실행을 위해 웨어하우스에 있는 활성 컴퓨팅 리소스의 대략적인 백분율입니다.

IS_CLIENT_GENERATED_STATEMENT

BOOLEAN

쿼리가 클라이언트에서 생성되었는지 여부를 나타냅니다.

QUERY_ACCELERATION_BYTES_SCANNED

NUMBER

쿼리 가속 서비스 에서 스캔한 바이트의 수입니다.

QUERY_ACCELERATION_PARTITIONS_SCANNED

NUMBER

쿼리 가속 서비스에서 스캔한 파티션의 수입니다.

QUERY_ACCELERATION_UPPER_LIMIT_SCALE_FACTOR

NUMBER

쿼리가 혜택을 받았을 상한 배율 입니다.

TRANSACTION_ID

NUMBER

문이 트랜잭션 내에서 실행되지 않는 경우 문 또는 0을 포함하는 트랜잭션의 ID 입니다.

CHILD_QUERIES_WAIT_TIME

NUMBER

메모이제이션 가능 함수 를 호출할 때 캐시된 조회 완료에 걸리는 시간(밀리초)입니다.

ROLE_TYPE

VARCHAR

쿼리를 실행한 APPLICATION, DATABASE_ROLE 또는 ROLE 을 지정합니다.

QUERY_HASH

TEXT

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

QUERY_HASH_VERSION

NUMBER

QUERY_HASH 계산에 사용되는 논리 버전 입니다.

QUERY_PARAMETERIZED_HASH

TEXT

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

QUERY_PARAMETERIZED_HASH_VERSION

NUMBER

QUERY_PARAMETERIZED_HASH 계산에 사용되는 논리 버전 입니다.

OWNER_ROLE_TYPE

TEXT

오브젝트를 소유하는 역할 유형(ROLE 또는 DATABASE_ROLE)입니다. . Snowflake Native App 이 오브젝트를 소유한 경우 값은 APPLICATION 입니다. . 삭제된 오브젝트에 소유자 역할이 없으므로 오브젝트를 삭제하는 경우 Snowflake는 NULL을 반환합니다.

사용법 노트

일반

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

  • EXTERNAL_FUNCTION_TOTAL_INVOCATIONS, EXTERNAL_FUNCTION_TOTAL_SENT_ROWS, EXTERNAL_FUNCTION_TOTAL_RECEIVED_ROWS, EXTERNAL_FUNCTION_TOTAL_SENT_BYTES, EXTERNAL_FUNCTION_TOTAL_RECEIVED_BYTES 열의 값은 다음을 비롯한 여러 요인의 영향을 받습니다.

    • SQL 문에 있는 외부 함수의 수입니다.

    • 각 원격 서비스에 보낸 배치당 행 수입니다.

    • 일시적인 오류(예: 예상 시간 내에 응답이 수신되지 않았기 때문)로 인한 재시도 횟수입니다.

하이브리드 테이블

다음 지침은 QUERY_HISTORY 뷰를 사용하는 동안 하이브리드 테이블에 대해 쿼리를 실행하는 것에 관한 지침입니다.

  • 하이브리드 테이블에 대해서만 작동하는 단기 실행 쿼리는 더 이상 이 뷰 또는 QUERY_HISTORY (Information Schema 테이블 함수)에 레코드를 생성하지 않습니다. 이러한 쿼리를 모니터링하려면 AGGREGATE_QUERY_HISTORY 를 사용하십시오. 이 뷰를 사용하면 추세와 문제에 대한 처리량이 높은 운영 워크로드를 더 쉽게 모니터링할 수 있습니다.

  • 하이브리드 테이블에 대해서만 독점적으로 작동하는 단기 실행 쿼리도 Snowsight에서 검사할 수 있는 쿼리 프로필을 더 이상 제공하지 않습니다.

  • 다음 조건 중 하나라도 충족되면 하이브리드 테이블에 대한 쿼리는 QUERY_HISTORY 뷰에 레코드와 쿼리 프로필을 생성합니다.

    • 하이브리드 테이블이 아닌 모든 테이블 유형에 대해 쿼리가 실행됩니다. 이 조건은 기존의 비 Unistore 워크로드에 대한 동작 변경이 없음을 보장합니다.

    • failed_with_incident 의 EXECUTION_STATUS로 인해 쿼리가 실패합니다(QUERY_HISTORY 참조). 이 조건으로 실패한 특정 쿼리를 조사하고 보고하여 지원을 받을 수 있도록 보장합니다.

    • 쿼리가 약 500밀리초 이상 실행 중입니다. 이 조건으로 느린 쿼리의 성능 문제를 조사할 수 있도록 보장합니다.

    • 쿼리 결과 크기가 너무 큽니다.

    • 쿼리가 Snowflake 트랜잭션과 연결됩니다.

    • 쿼리에 부작용이 있는 시스템 함수가 포함되어 있습니다.

    • 쿼리가 SELECT, INSERT, DELETE, UPDATE, MERGE 문 유형 중 하나가 아닙니다.

    • 쿼리가 SnowSQL, Snowsight 또는 Classic Console에서 실행됩니다. 이 조건으로 전체 쿼리 프로필을 수동으로 생성하여 특정 쿼리가 장기 실행으로 분류되지 않은 경우에도 특정 쿼리에 대한 성능 문제를 조사할 수 있도록 보장합니다.

    • 쿼리가 위의 기준을 충족하지 않는 경우에도 쿼리를 주기적으로 샘플링하여 QUERY_HISTORY 뷰 및 쿼리 프로필에 레코드를 생성하여 조사에 도움을 줄 수도 있습니다.