study:oracle:datadb:3week_1:02
문서의 이전 판입니다!
3.2.2. 데이터 연결을 위한 실행계획
- 3.2.2.1. 내포 조인(Nested loops Join)
- 가장 고전적 형태의 조인방식이나 현실적으로 가장 많이 적용
- SINGLE BLOCK I/O
- 전처리 집합의 처리범위가 전체 일량을 좌우
- 다량의 랜덤 액세스 발생
- 따라서 소량의 액세스는 유용, 다량의 액세스는 큰 부하 발생
- NESTED LOOPS JOIN = 내포조인 = 중첩루프조인
- 진보된 내포조인(Advanced Nested Loop Join)
- 클러스터링 팩터가 좋다면, 많은 부분을 한번의 블록 액세스에서 연결가능
- 물리적, 논리적 블록 액세스 량이 감소 → 효율성 증대
- DBMS 또는 버전별로 차등 지원
- 3.2.2.2. 정렬 병합 조인(Sort Merge Join)
- NESTED LOOPS JOIN의 문제점을 해결하기 위한 방안
- NESTED LOOPS JOIN의 문제점
- 조인 대상 범위가 넓을 경우 랜덤 액세스 발생
- 연결고리 이상으로 인한 다량의 액세스 발생
- SORT MERGE JOIN의 특징
- 랜덤액세스를 하지 않고 스캔으로 수행
- 최소한 두 개의 집합의 연결 고리는 필요
- 정렬을 대신 할수 있는 인덱스가 존재할 경우 부하 감소
- 연결고리에 인덱스 유무가 문제되지 않음
- SORT 부하 발생
- SORT AREA SIZE에 따른 효율성 차이 발생
- 해쉬조인에 비해
- 이미 정렬된 집합이 존재
- 인덱스를 활용한 정렬 대체가 가능할 경우 높은 효율성 보장 가능
- Nested Loop 조인에 비해
- =(EQUAL)이 아닌 (LIKE, BETWEEN, <. ⇐, >, >
일 경우 유리할 수 있음
- 선행 집합 개념이 없음으로 선행처리 개념이 불필요
- 각 집합이 독립적인 처리 수행
- 3.2.2.3. 해쉬 조인(Hash Join)
- 3.2.2.4. 세미 조인(Semi Join)
- 3.2.2.5. 카티젼 조인(Cartesian Join)
- 3.2.2.6. 아우터 조인(Outer Join)
- 3.2.2.7. 인덱스 조인
study/oracle/datadb/3week_1/02.1274234518.txt.gz · 마지막으로 수정됨: 저자 upju
