티스토리 뷰

It

3-3. JOIN - SORT MERGE JOIN

poupdat 2023. 4. 26. 16:39

3-3. JOIN - SORT MERGE JOIN

3.1SORT MERGE JOIN의 개념

Sort Merge 조인의 사용

•연결 고리에 이상이 있는 경우

- 조인을 위한 연결 고리 칼럼에 대한 인덱스가 없는 경우

•대용량의 자료를 조인 처리함으로써 인덱스 사용에 의한 랜덤 액세스의 오버헤드가 많은 경우

1. Sort Merge 조인에서는 Driving Table이 의미 없음 즉, 각 테이블에 대한 처리를 독립적으로 행함

2. 읽혀진 각 테이블의 데이터를 조 칼럼에 대하여 정렬 인을 위한 연결 고리

3. 정렬 후에 조인 작업이 수행(Merge)

3.3SORT MERGE JOIN의 예

SQL> SELECT /*+ USE_MERGE(A B) */

A.ENAME, A.JOB, B.DEPTNO, B.DNAME FROM EMP A, DEPT B

WHERE A.DEPTNO = B.DEPTNO

AND A.HIREDATE >=TO_DATE('19810101','YYYYMMDD');

3.4SORT MERGE JOIN의 장단점

Sort Merge 조인(SMJ)은 조인 결합 조건으로 사용되는 연결고리 칼럼에 인덱스가 생성되어 있지 않은 경우에 빠른 조인을 위하여 사용된다.

② 조인 하고자 하는 각 테이블에 대해서 독립적으로 데이터를 읽어 들일 때, 이를 얼마나 빠르게 할 것 인가가 중요하다.

③ 각 테이블로부터 읽혀진 데이터를 연결고리가 되는 칼럼에 대하여 정렬을 수행할 때 이를 얼마나 빠르게 할 것인가가 중요하다.

Parallel Processing을 함께 활용함으로 테이블에 대한

Full Table scan의 속도를 향상시키는 것도 가능하다.

3.5 SORT MERGE JOIN 파라미터

조인방식

Sort Merge

Parameters

DB_FILE_MULTIBLOCK_READ_COUNT SORT_AREA_SIZE SORT_AREA_RETAINED_SIZE

DB_FILE_MULTIBLOCK_READ_COUNT

Full table scan I/O를 최소화하기 위해 지정하는 것으로, 이는 한 번의 I/O에 의해 처리할 수 있는 block의 개수를 의미한다. 너무 크게 설정하면 index scan 보다 full table scan을 선호하게 된다.

SORT_AREA_SIZE

Sort merge조인은 이 parameter에 의해 크게 영향을 받는다.

정렬을 수행하는 데 필요한 메모리 크기 보다 작게 설정하면 disk I/O 많이 발생하게 되며, 반대로 너무 크게 설정하면 OS 상의 메모리가 부족하게 된다.

"이 포스팅은 쿠팡 파트너스 활동의 일환으로, 이에 따른 일정액의 수수료를 제공받습니다."
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함