[Oracle] SORT MERGE JOIN

당당·2023년 12월 29일
0

Oracle

목록 보기
39/51

📔설명

SORT MERGE JOIN문을 알아보자!


🍔SORT MERGE JOIN

해시 조인은 non equi join시 사용할 수 없다.

select /*+ leading(s e) use_merge(e) */ e.ename, e.sal, s.grade
from emp e, salgrade s
where e.sal between s.losal and s.hisal;

  • use_merge() 힌트

먼저, 정렬(sort)를 하고서 조인을 하는 것이다.

select /*+ leading(d e) use_merge(e) */ e.ename, d.loc
from emp e, dept d
where e.deptno=d.deptno;

조인 전에, e.deptnod.deptno를 정렬을 한다. 그 후 몰려있기 때문에 금방 조인을 할 수 있다.


🍑SORT MERGE JOIN의 조인 순서

먼저, emp 테이블을 먼저 읽으면, dept를 먼저 읽었을 때 보다 성능이 좋지 않아진다.

조인하는 횟수가 적을 수록 좋기 때문이다. 결국 소트 머지 조인도 작은 테이블이 앞에 와야 좋다.

profile
MySQL DBA 신입

0개의 댓글