"실행계획 조인 읽는 순서"의 두 판 사이의 차이
DB CAFE
(→실행계획에서 조인 읽는 방법) |
(→예외적인 사항) |
||
30번째 줄: | 30번째 줄: | ||
</source> | </source> | ||
# 해시조인 시 EARLIER FILTER 서브쿼리 | # 해시조인 시 EARLIER FILTER 서브쿼리 | ||
+ | ## [[EARLIER Filter 서브쿼리]] | ||
---- | ---- | ||
[[Category:oracle]] | [[Category:oracle]] |
2023년 6월 25일 (일) 16:46 판
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 서브쿼리