STL_HASH - Amazon Redshift

STL_HASH

쿼리의 해시 실행 단계를 분석합니다.

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

참고

STL_HASH에는 기본 클러스터에서 실행되는 쿼리만 포함됩니다. 동시성 조정 클러스터에서 실행되는 쿼리는 포함되지 않습니다. 기본 및 동시성 조정 클러스터 모두에서 실행되는 쿼리에 액세스하려면 SYS 모니터링 뷰인 SYS_QUERY_DETAIL을 사용하는 것이 좋습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다.

테이블 열

열 명칭 데이터 유형 설명
userid 정수 항목을 생성한 사용자의 ID.
쿼리 정수 쿼리 ID. 쿼리 열을 사용하여 다른 시스템 테이블 및 보기를 조인할 수 있습니다.
slice 정수 쿼리가 실행 중인 슬라이스를 식별하는 번호.
segment 정수 쿼리 세그먼트를 식별할 수 있는 번호
step 정수 실행된 쿼리 단계입니다.
starttime 타임스탬프 쿼리 시작 시간(UTC) 총 시간에는 대기 및 실행이 포함되며 소수점 이하 자릿수는 6자리입니다. 예: 2009-06-12 11:29:19.131358.
endtime 타임스탬프 쿼리가 완료된 시간(UTC)입니다. 총 시간에는 대기 및 실행이 포함되며 소수점 이하 자릿수는 6자리입니다. 예: 2009-06-12 11:29:19.131358.
tasknum 정수 단계 실행을 위해 할당된 쿼리 태스크 프로세스 수.
rows bigint 처리된 총 행 수.
bytes bigint 단계에서 출력되는 모든 행의 크기(바이트)
slots 정수 해시 버킷의 총 수
occupied 정수 레코드가 저장되는 슬롯의 총 수
maxlength 정수 가장 큰 슬롯의 크기
tbl 정수 테이블 ID.
is_diskbased character(1) true(t)인 경우 쿼리가 디스크 기반 작업으로 수행된 것을 의미합니다. false(f)인 경우 쿼리가 메모리에서 수행된 것을 의미합니다.
workmem bigint 단계에 할당된 유효 메모리 바이트의 총 수
num_parts 정수 해시 단계 도중 해시 테이블이 분할된 파티션의 총 수.
est_rows bigint 해시 처리될 것으로 예상되는 행의 수
num_blocks_permitted 정수 이 정보는 내부 전용입니다.
크기 조정 정수 이 정보는 내부 전용입니다.
checksum bigint 이 정보는 내부 전용입니다.
runtime_filter_size 정수 실행 시간 필터의 크기(바이트).
max_runtime_filter_size 정수 실행 시간 필터의 최대 크기(바이트).

샘플 쿼리

다음은 쿼리 720의 해시에 사용된 파티션의 수에 대한 정보를 반환하는 예로서 디스크에서 실행된 단계가 하나도 없다는 것을 나타내고 있습니다.

select slice, rows, bytes, occupied, workmem, num_parts, est_rows, num_blocks_permitted, is_diskbased from stl_hash where query=720 and segment=5 order by slice;
slice | rows | bytes | occupied | workmem | num_parts | est_rows | num_blocks_permitted | is_diskbased -------+------+--------+----------+----------+-----------+----------+----------------------+-------------- 0 | 145 | 585800 | 1 | 88866816 | 16 | 1 | 52 f 1 | 0 | 0 | 0 | 0 | 16 | 1 | 52 f (2 rows)