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 , high 및 highest 입니다. 여기에서 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)