STL_SAVE
쿼리의 저장 단계 정보가 저장됩니다. 저장 단계에서는 입력 스트림이 임시 테이블로 저장됩니다. 임시 테이블이란 쿼리 실행 도중 중간 결과가 일시적으로 저장되는 테이블을 말합니다.
하나의 쿼리는 여러 세그먼트로 구성되며, 각각의 세그먼트는 하나 이상의 단계로 구성됩니다. 자세한 내용은 쿼리 처리 단원을 참조하십시오.
STL_SAVE는 모든 사용자에게 표시됩니다. 수퍼유저는 모든 행을 볼 수 있지만 일반 사용자는 자체 데이터만 볼 수 있습니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.
참고
STL_SAVE에는 기본 클러스터에서 실행되는 쿼리만 포함됩니다. 동시성 조정 클러스터에서 실행되는 쿼리는 포함되지 않습니다. 기본 및 동시성 조정 클러스터 모두에서 실행되는 쿼리에 액세스하려면 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 | 단계에서 출력되는 모든 행의 크기(바이트) |
tbl | 정수 | 구체화된 임시 테이블의 ID |
is_diskbased | character(1) | 디스크 기반 작업으로서 이번 쿼리 단계의 수행 여부: true(t ) 또는 false(f ). |
workmem | bigint | 단계에 할당되는 유효 메모리의 바이트 수 |
샘플 쿼리
다음은 가장 최근 쿼리에서 각 조각마다 수행된 단계를 저장하는 쿼리입니다.
select query, slice, segment, step, tasknum, rows, tbl from stl_save where query = pg_last_query_id(); query | slice | segment | step | tasknum | rows | tbl -------+-------+---------+------+---------+------+----- 52236 | 3 | 0 | 2 | 21 | 0 | 239 52236 | 2 | 0 | 2 | 20 | 0 | 239 52236 | 2 | 2 | 2 | 20 | 0 | 239 52236 | 3 | 2 | 2 | 21 | 0 | 239 52236 | 1 | 0 | 2 | 21 | 0 | 239 52236 | 0 | 0 | 2 | 20 | 0 | 239 52236 | 0 | 2 | 2 | 20 | 0 | 239 52236 | 1 | 2 | 2 | 21 | 0 | 239 (8 rows)