DBMS/오라클기타
Nested Loop Join
choi121xx
2013. 5. 5. 23:05
- 순차적으로 데이터를 추출하는 방식
- 1개이상의 테이블이 join에 참여할 경우 일정한 순서에 의해서 데이터를 추출하는 것
절차형 프로그램을 하듯이 특정 테이블, 특정 집합을 먼저 수행되고 수행된 결과를 가지고 다음 루틴이 수행되는 방식.
Table1이 선행 --> Table2와 Table3이 순차적으로 처리.
Table1이 Driving 테이블이 됨.
- Driving테이블 : 다른 집합과 join이 이루어 지기 전 가장 먼저 수행되는 집합.
주의 사항 ]
- Driving 테이블 선정.
"처음 실행되는 조건"
- Driving되는 테이블의 처리 범위와 각 집합이 연결되는 고리 상태.
( 연결고리 이상 : 한쪽에 인덱스가 없는 경우. )
연결고리 이상이 발생하면 해당 테이블의 전체데이터를 각 건별로 Random Access Full Table Scan 하게 된다.
- 세개 이상의 테이블에서는 join성공률이 낮은 집합의 join이 먼저 일어나는 것이 유리함.
join성공률 : join작업이 수행된 후 join조건을 만족하는 총row 수(성공된 Row)