티스토리 뷰
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 상의 메모리가 부족하게 된다.
'it' 카테고리의 다른 글
| PHP로 DB값 불러오기 -1번방법 (mysql_fetch_array) (1) | 2023.03.07 |
|---|---|
| visual studio 2010 - C# 헬로월드 Hello world 작성하기 (0) | 2023.03.06 |
| C 언어 문자 함수 (0) | 2023.02.27 |
| HTML5 CSS3 - 스마트폰 레이아웃, 하이브리드 앱 (0) | 2023.02.26 |
| 큐브 네트워크(cube network) (0) | 2023.02.25 |
- #7급공무원
- #9급공무원
- #국민내일배움카드
- #소방공무원
- #교정직
- #면접준비
- #큐넷
- #웹툰원작
- #지게차필기
- #공무원채용
- #소방공무원시험
- #경력채용
- #체력시험
- #공무원
- #경찰공무원
- #지게차실기
- #공시생
- #공무원시험과목
- #경찰시험
- #공무원시험일정
- #tvn드라마
- #2025공무원시험
- #필기시험
- #경력경쟁채용
- #지게차취업
- #군무원
- #공무원시험
- #공무원합격
- #경찰특채
- #지게차시험
| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
