STL_COMMIT_STATS
다양한 커밋 단계의 타이밍과 커밋된 블록 수를 포함하여 커밋 성능에 대한 지표를 제공합니다. STL_COMMIT_STATS에 대한 쿼리를 실행하여 커밋 시 사용된 트랜잭션 구간과 발생한 대기열의 크기를 확인합니다.
STL_COMMIT_STATS는 슈퍼 사용자에게만 표시됩니다. 자세한 내용은 시스템 테이블 및 뷰에 있는 데이터의 가시성 단원을 참조하십시오.
이 테이블의 데이터 중 일부 또는 전부는 SYS 모니터링 뷰인 SYS_TRANSACTION_HISTORY에서도 찾아볼 수 있습니다. SYS 모니터링 뷰의 데이터는 사용 및 이해가 더 쉽도록 형식이 지정되어 있습니다. 쿼리에 SYS 모니터링 뷰를 사용하는 것이 좋습니다.
테이블 열
열 명칭 | 데이터 유형 | 설명 |
---|---|---|
xid | bigint | 커밋 중인 트랜잭션 ID |
node | integer | 노드 번호. -1 은 리더 노드입니다. |
startqueue | timestamp | 커밋을 위한 대기열의 시작 |
startwork | timestamp | 커밋 시작 |
endflush | timestamp | 더티 블록 플러시 단계의 끝 |
endstage | timestamp | 메타데이터 스테이징 단계의 끝 |
endlocal | timestamp | 로컬 커밋 단계의 끝 |
startglobal | timestamp | 전역 단계의 시작 |
endtime | timestamp | 커밋의 끝 |
queuelen | bigint | 커밋 대기열에서 이 트랜잭션 앞에 있었던 트랙잭션의 수 |
permblocks | bigint | 이번 커밋 시점을 기준으로 기존 영구 블록의 수 |
newblocks | bigint | 이번 커밋 시점을 기준으로 새로운 영구 블록의 수 |
dirtyblocks | bigint | 이번 커밋에 포함하여 작성해야 했던 블록의 수 |
headers | bigint | 이번 커밋에 포함하여 작성해야 했던 블록 헤더의 수 |
numxids | integer | 활성 DML 트랜잭션의 수. |
oldestxid | bigint | 가장 오래된 활성 DML 트랜잭션의 XID. |
extwritelatency | bigint | 이 정보는 내부 전용입니다. |
metadatawritten | int | 이 정보는 내부 전용입니다. |
tombstonedblocks | bigint | 이 정보는 내부 전용입니다. |
tossedblocks | bigint | 이 정보는 내부 전용입니다. |
batched_by | bigint | 이 정보는 내부 전용입니다. |
샘플 쿼리
select node, datediff(ms,startqueue,startwork) as queue_time, datediff(ms, startwork, endtime) as commit_time, queuelen from stl_commit_stats where xid = 2574 order by node; node | queue_time | commit_time | queuelen -----+--------------+-------------+--------- -1 | 0 | 617 | 0 0 | 444950725641 | 616 | 0 1 | 444950725636 | 616 | 0