728x90
SET AUTOTRACE ON STATISTICS
이 설정은 SQL*Plus나 SQL Developer에서 실행 시,
- 쿼리의 실행 결과와
- 쿼리 수행 후의 통계 정보(statistics) 를 보여주는 옵션입니다.
즉, 실행 계획(EXPLAIN PLAN) 대신 실제 수행 시점의 리소스 사용량 (실행 통계) 을 확인할 수 있습니다.
- AUTOTRACE는 내부적으로 TKPROF보다 간략한 통계만 제공합니다.
- AUTOTRACE 통계는 현재 세션 기준 누적이 아닌, 해당 SQL 한 번의 실행 기준입니다.
- consistent gets와 physical reads는 버퍼 캐시 효율을 판단하는 핵심 지표입니다.
SET AUTOTRACE ON STATISTICS;
SELECT * FROM emp WHERE deptno = 10;
결과 예시
EMPNO ENAME SAL
---------- ---------- ----------
7782 CLARK 2450
7839 KING 5000
7934 MILLER 1300
3 rows selected.
Statistics
----------------------------------------------------------
0 recursive calls
0 db block gets
8 consistent gets
0 physical reads
0 redo size
1396 bytes sent via SQL*Net to client
519 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
14 rows processed
recursive calls
- 내부적으로 오라클이 수행한 SQL 호출 횟수
- 예: 데이터 딕셔너리 조회, 시퀀스 증가 등
db block gets
- 커밋되지 않은 블록을 Current Mode로 읽은 횟수
- 주로 DML 시 증가 (블록 변경 목적)
consistent gets
- 커밋된 데이터를 보기 위해 Consistent Read한 횟수
- SELECT 시 주로 증가
physical reads
- 디스크에서 직접 읽은 블록 수
- 캐시에 없을 경우 발생 (I/O 비용)
redo size
- redo log에 기록된 바이트 수
- DML 수행 시 증가
bytes sent via SQL*Net to client
- 클라이언트로 보낸 데이터 양
- 결과 행의 크기 반영
bytes received via SQL*Net from client
- 클라이언트로부터 받은 데이터 양
- 바인드 변수 등
SQL*Net roundtrips to/from client
- 클라이언트와의 통신 왕복 횟수
- 네트워크 병목 원인 파악용
sorts (memory)
- 메모리 내에서 정렬 수행 횟수
- ORDER BY, GROUP BY 등
sorts (disk)
- 메모리 초과로 인해 TEMP 영역에서 정렬 수행 횟수
- TEMP 사용 여부 판단에 중요
rows processed
- 처리된 행(row)의 개수
- 실제 fetch된 레코드 수
옵션 비교 요약
set autotrace on -- 실행결과 O + 실행계획(exp) + 통계정보(stat)
set autotrace on explain -- 실행결과 O + 실행계획(exp)
set autotrace on statistics -- 실행결과 O + + 통계정보(stat)
(=set autot on stat)
set autotrace traceonly -- 실행결과 X + 실행계획(exp) + 통계정보(stat)
set autotrace traceonly explain -- 실행결과 X + 실행계획(exp) +
set autotrace traceonly statistics -- 실행결과 X + + 통계정보(stat)
(=set autot trace stat)
728x90
'📁 Database > Oracle' 카테고리의 다른 글
| [Oracle] ORA-08177: can't serialize access for this transaction (0) | 2025.11.17 |
|---|---|
| [Oracle] Consistent Read(CR) / Current Read(CU) (0) | 2025.11.13 |
| [Oracle] Lock과 Latch (0) | 2025.11.12 |
| [Oracle] 아카이브 로그의 최소 보관 주기 (0) | 2025.11.12 |
| [Oracle] 복구 시 open / recover database / recover database using backup controlfile until cancel 차이 (0) | 2025.11.11 |