안녕하세요. 해쉬조인 공부중 인대요 , 인터넷에서 검색해보니
select /*+ ordered use_hash(큰테이블) */ … from 작은테이블, 큰테이블 <-- 요렇게 힌트 예제와 from 절 순서를 알려주더라구요.
아래 플랜에서 DEPT 테이블에 해쉬 테이블에 올라가 있는건가요?
HASH JOIN 문고 바로 밑에 나온 테이블이 해쉬 메모리에 올갔다고 보면 돼는거나요??
SELECT /*+ ordered use_hash(e) */ D.DEPTNO, D.DNAME, E.EMPNO, E.ENAME
FROM DEPT D, EMP E
WHERE D.DEPTNO = E.DEPTNO
;
----------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows | A-Rows | A-Time | Buffers | OMem | 1Mem | Used-Mem |
----------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | 15 |00:00:00.01 | 14 | | | |
|* 1 | HASH JOIN | | 1 | 15 | 15 |00:00:00.01 | 14 | 1645K| 1645K| 1012K (0)|
| 2 | TABLE ACCESS FULL| DEPT | 1 | 5 | 5 |00:00:00.01 | 7 | | | |
| 3 | TABLE ACCESS FULL| EMP | 1 | 15 | 15 |00:00:00.01 | 7 | | | |
----------------------------------------------------------------------------------------------------------------