STV_EXEC_STATE - Amazon Redshift

STV_EXEC_STATE

STV_EXEC_STATE 테이블은 컴퓨팅 노드에서 활성화되어 실행 중인 쿼리 및 쿼리 단계에 대한 정보를 확인하는 데 사용됩니다.

이 정보는 일반적으로 엔지니어링 문제를 해결하는 목적으로만 사용됩니다. SVV_QUERY_STATE 뷰와 SVL_QUERY_SUMMARY 뷰는 정보를 STV_EXEC_STATE에서 추출합니다.

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

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

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 사용자의 ID.
쿼리 정수 쿼리 ID. 다양한 다른 시스템 테이블 및 보기를 조인하는 데 사용할 수 있습니다.
slice 정수 단계가 완료된 노드 조각
segment 정수 실행된 쿼리 세그먼트입니다. 쿼리 세그먼트는 연속된 단계들의 집합입니다.
step 정수 완료된 쿼리 세그먼트의 단계입니다. 단계는 쿼리가 수행하는 가장 작은 단위입니다.
starttime 타임스탬프 단계가 실행된 시간입니다.
currenttime 타임스탬프 현재 시간
tasknum 정수 단계 완료을 위해 할당되는 쿼리 태스크 프로세스입니다.
rows bigint 처리된 행 수
bytes bigint 처리된 바이트 수
레이블 char(256) 쿼리 단계 이름 및 해당되는 경우, 테이블 ID와 테이블 이름으로 구성되는 단계 레이블(예: scan tbl=100448 name =user). 3자리 테이블 ID는 일반적으로 일시적 테이블의 스캔을 가리킵니다. tbl=0이 표시된다면 일반적으로 일정한 값의 스캔을 가리킵니다.
is_diskbased char(1) 디스크 기반 작업으로서 이번 쿼리 단계의 완료 여부: true(t) 또는 false(f). 해시, 정렬, 집계 단계 같은 특정 단계만 디스크로 갈 수 있습니다. 많은 단계 형식은 항상 메모리에서 완료됩니다.
workmem bigint 단계에 할당되는 유효 메모리의 바이트 수
num_parts 정수 해시 단계 도중 해시 테이블이 분할되는 파티션의 수. 이 열의 양수는 해시 단계가 디스크 기반 작업으로 실행되었음을 뜻하지 않습니다. 해시 단계가 디스크 기반인지 확인하려면 IS_DISKBASED 열의 값을 확인합니다.
is_rrscan char(1) true(t)인 경우, 단계에서 범위 제한 스캔이 사용되었음을 나타냅니다. 기본값은 false(f)입니다.
is_delayed_scan char(1) true(t)인 경우, 단계에서 지연된 스캔이 사용되었음을 나타냅니다. 기본값은 false(f)입니다.

샘플 쿼리

STV_EXEC_STATE에 대해 직접 쿼리를 실행하기보다는 SVL_QUERY_SUMMARY 또는 SVV_QUERY_STATE에 대해 쿼리를 실행하여 더욱 사용자 친화적인 형식으로 STV_EXEC_STATE의 정보를 가져오는 방법이 권장됩니다. 자세한 내용은 SVL_QUERY_SUMMARY 또는 SVV_QUERY_STATE 테이블 설명서를 참조하십시오.