해쉬 조인 플랜 질문 입니다. 0 1 528

by 유환 [Oracle 기초] [2019.11.19 06:43:04]


안녕하세요. 해쉬조인 공부중 인대요 , 인터넷에서 검색해보니

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 |       |       |          |
----------------------------------------------------------------------------------------------------------------

by 우리집아찌 [2019.11.19 10:11:52]

해쉬메모리란 용어는 없습니다

밑에 글 참고하세요

http://wiki.gurubee.net/pages/viewpage.action?pageId=29065550

 

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입