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 |
쿼리의 실행 상태. 유효한 값: |
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 |
결과 오브젝트에 작성된 바이트 수입니다. 예를 들어, |
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 |
|
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 |
쿼리를 실행한 |
QUERY_HASH |
TEXT |
표준화된 SQL 텍스트를 기반으로 계산된 해시 값 입니다. |
QUERY_HASH_VERSION |
NUMBER |
|
QUERY_PARAMETERIZED_HASH |
TEXT |
매개 변수가 있는 쿼리를 기반으로 계산된 해시 값 입니다. |
QUERY_PARAMETERIZED_HASH_VERSION |
NUMBER |
|
OWNER_ROLE_TYPE |
TEXT |
오브젝트를 소유하는 역할 유형( |
사용법 노트¶
일반¶
뷰의 지연 시간은 최대 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 뷰 및 쿼리 프로필에 레코드를 생성하여 조사에 도움을 줄 수도 있습니다.