OS환경 : Oracle Linux 6.8 (64bit)
DB 환경 : Oracle Database 11.1.0.1
방법 : 오라클 11gR1 이상버전에서 보이는 Nested Loop 조인 실행계획(Prefetch, Batch I/O, Vector I/O)
일반 NL 조인에서는 아래와 같은 실행계획이 나타남
1
2
3
4
5
6
7
8
9
|
---------------------------------------------------------
| Id | Operation | Name |
---------------------------------------------------------
| 0 |SELECT STATEMENT | |
| 1 | NESTED LOOPS | |
| 2 | TABLE ACCESS FULL | DEPARTMENTS |
| 3 | TABLE ACCESS BY INDEX ROWID | EMPLOYEES |
| 4 | INDEX RANGE SCAN | EMP_DEPARTMENT_IX |
---------------------------------------------------------
|
오라클 9i~11gR1 버전에서는 NL 조인에서 아래와 같은 실행계획이 나타남(새로운 형태)
이는 해당 테이블 엑세스 단계에 Prefetch 기능이 적용되었음을 표현하기 위함임
1
2
3
4
5
6
7
8
9
|
---------------------------------------------------------
| Id | Operation | Name |
---------------------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | TABLE ACCESS BY INDEX ROWID | EMPLOYEES |
| 2 | NESTED LOOPS | |
|* 3 | TABLE ACCESS FULL | DEPARTMENTS |
|* 4 | INDEX RANGE SCAN | EMP_DEPARTMENT_IX |
---------------------------------------------------------
|
오라클 11gR1 이상의 버전에서는 아래와 같이 NL 조인이 두번 들어간 실행계획도 나올수도있음(새로운 형태)
1
2
3
4
5
6
7
8
9
10
|
----------------------------------------------------------
| Id | Operation | Name |
----------------------------------------------------------
| 0 | SELECT STATEMENT | |
| 1 | NESTED LOOPS | |
| 2 | NESTED LOOPS | |
|* 3 | TABLE ACCESS FULL | DEPARTMENTS |
|* 4 | INDEX RANGE SCAN | EMP_DEPARTMENT_IX |
| 5 | TABLE ACCESS BY INDEX ROWID| EMPLOYEES |
----------------------------------------------------------
|
새로운 포맷의 실행계획이 나타난다고 항상 테이블 Prefetch 기능(배치IO 또는 벡터IO)이 작동하는것은 아님
단지 그 기능이 활성화 되었음을 의미할 뿐임
아래 참조 링크에 본문 실행계획에 대한 상세한 설명이 나와있음
참조 :
978496.1, 264532.1
오라클 성능 고도화원리와 해법 1, 2
https://docs.oracle.com/cd/B28359_01/server.111/b28274/optimops.htm#i49732
'ORACLE > Performance Tuning ' 카테고리의 다른 글
sqlp 실기튜닝실습 17-1 PUSH PREDICATE 문제 devDo (2) | 2022.03.06 |
---|---|
sqlp 실기튜닝실습 20-1 인덱스 최적화 구성 devDo (0) | 2022.03.06 |
오라클 19c dbms_xplan.display_cursor Hint Report 포맷 (0) | 2021.10.23 |
로그스위치 과다 발생 시 확인 사항 (3) | 2020.08.03 |
오라클 19c Statspack 리포트 생성 가이드 (2) | 2020.07.28 |