실행계획 조인 읽는 순서
DB CAFE
thumb_up 추천메뉴 바로가기
- DBA { Oracle DBA 명령어 > DBA 초급 과정 > DBA 고급 과정 }
- 튜닝 { 오라클 튜닝 목록 }
- 모델링 { 데이터 모델링 가이드 }
1 실행계획에서 조인 읽는 방법[편집]
- 안에서 바깥으로
- 위에서 아래로
1.1 예외적인 사항[편집]
- 해시조인 시 BUILD INPUT 처리시
SELECT /*+ leading(E) use_hash(D) swap_join_inputs(D) */ E.EMPNO, E.ENAME, E.SAL, D.DNAME
FROM DEPT D
INNER JOIN EMP E
ON D.DEPTNO = E.DEPTNO
AND E.SAL > 1500
AND E.JOB = 'SALESMAN'
WHERE D.DNAME = 'SALES'
;
Execution plan
-----------------------------------------------------------------
| Id | Operation | Name | Card | Bytes | Cost (%CPU)|
-----------------------------------------------------------------
| 0| SELECT STATEMENT | | 1 | 32 | 8 (0)|
|* 1| HASH JOIN | | 1 | 32 | 8 (0)|
|* 2| TABLE ACCESS FULL | DEPT | 1 | 13 | 4 (0)|
|* 3| TABLE ACCESS FULL | EMP | 2 | 50 | 4 (0)|
-----------------------------------------------------------------
Predicate Information (identified by operation id):
-----------------------------------------------------------------
1 - access("D"."DEPTNO"="E"."DEPTNO")
-----------------------------------------------------------------
- 해시조인 시 EARLIER FILTER 서브쿼리