STL_WLM_QUERY - Amazon Redshift

STL_WLM_QUERY

WLM에서 처리하는 서비스 클래스의 쿼리를 실행하려고 시도할 때마다 레코드가 저장됩니다.

STL_WLM_QUERY는 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.

이 테이블의 데이터 중 일부 또는 전부는 SYS 모니터링 뷰인 SYS_QUERY_HISTORY에서도 찾아볼 수 있습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다. 쿼리에 SYS 모니터링 뷰를 사용하는 것이 좋습니다.

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 사용자의 ID.
xid 정수 쿼리 또는 하위 쿼리의 트랜잭션 ID
작업 정수 워크로드 관리자를 통해 쿼리를 추적하는 데 사용되는 ID. 다수의 쿼리 ID와 연결되기도 합니다. 쿼리를 다시 시작하면 새로운 작업 ID가 아닌 새로운 쿼리 ID가 할당됩니다.
쿼리 정수 쿼리 ID. 쿼리를 다시 시작하면 새로운 작업 ID가 아닌 새로운 쿼리 ID가 할당됩니다.
service_class 정수 서비스 클래스의 ID. 서비스 클래스 ID의 목록은 WLM 서비스 클래스 ID 섹션을 참조하세요.
slot_count 정수 대기열에 설정된 동시성 수준에 따라 쿼리가 사용하는 WLM 쿼리 슬롯의 수입니다. 기본값은 1. 자세한 내용은 wlm_query_slot_count를 참조하세요.
service_class_start_time 타임스탬프 쿼리가 서비스 클래스에 할당된 시간 이 시간은 UTC 표준 시간대 기준입니다.
queue_start_time 타임스탬프 쿼리가 서비스 클래스 대기열에 진입한 시간 이 시간은 UTC 표준 시간대 기준입니다.
queue_end_time 타임스탬프 쿼리가 서비스 클래스 대기열에서 나간 시간 이 시간은 UTC 표준 시간대 기준입니다.
total_queue_time bigint 쿼리가 대기열에서 대기한 총 시간(마이크로초)
exec_start_time 타임스탬프 쿼리 실행이 서비스 클래스에서 시작된 시간 이 시간은 UTC 표준 시간대 기준입니다.
exec_end_time 타임스탬프 쿼리 실행이 서비스 클래스에서 완료된 시간 이 시간은 UTC 표준 시간대 기준입니다.
total_exec_time bigint 쿼리를 실행하는 데 걸린 시간(마이크로초)
service_class_end_time 타임스탬프 쿼리가 서비스 클래스에서 나간 시간 이 시간은 UTC 표준 시간대 기준입니다.
final_state character(16) 시스템에서 사용하도록 예약됩니다.
est_peak_mem bigint 시스템에서 사용하도록 예약됩니다.
query_priority char(20) 쿼리의 우선순위입니다. 가능한 값은 n/a, lowest, low, normal, highhighest입니다. 여기에서 n/a은 쿼리 우선 순위가 지원되지 않음을 뜻합니다.
service_class_name character(64) 서비스 클래스 이름입니다. 서비스 클래스에 대한 자세한 내용은 WLM 시스템 테이블 및 뷰를 참조하세요.

샘플 쿼리

쿼리의 평균 대기 및 실행 시간 보기

다음 쿼리는 4보다 큰 서비스 클래스의 현재 구성을 표시합니다. 서비스 클래스 ID의 목록은 WLM 서비스 클래스 ID 섹션을 참조하세요.

다음은 각 쿼리가 쿼리 대기열에서 대기한 평균 시간과 각 서비스 클래스에서 실행하는 데 걸린 평균 시간을 마이크로초 단위로 반환하는 쿼리입니다.

select service_class as svc_class, count(*), avg(datediff(microseconds, queue_start_time, queue_end_time)) as avg_queue_time, avg(datediff(microseconds, exec_start_time, exec_end_time )) as avg_exec_time from stl_wlm_query where service_class > 4 group by service_class order by service_class;

위 쿼리는 다음과 같은 샘플 출력을 반환합니다.

svc_class | count | avg_queue_time | avg_exec_time -----------+-------+----------------+--------------- 5 | 20103 | 0 | 80415 5 | 3421 | 34015 | 234015 6 | 42 | 0 | 944266 7 | 196 | 6439 | 1364399 (4 rows)

쿼리의 최대 대기 및 실행 시간 보기

다음은 쿼리가 대기열에서 대기한 최대 시간과 각 서비스 클래스에서 실행하는 데 걸린 최대 시간을 마이크로초 단위로 반환하는 쿼리입니다.

select service_class as svc_class, count(*), max(datediff(microseconds, queue_start_time, queue_end_time)) as max_queue_time, max(datediff(microseconds, exec_start_time, exec_end_time )) as max_exec_time from stl_wlm_query where svc_class > 5 group by service_class order by service_class;
svc_class | count | max_queue_time | max_exec_time -----------+-------+----------------+--------------- 6 | 42 | 0 | 3775896 7 | 197 | 37947 | 16379473 (4 rows)