조인(Join)의 종류
Driving table = Outer table = 선행 테이블
Driven table = Inner table = 후행 테이블
- Nested Loop Join (중첩 루프 조인)
- Hash Join (해시 조인)
- Sort Merge Join (소트 머지 조인)
Join 순서/검색 양에 의한 수행 속도 비교
SELECT A.FLD2, A.FLD3, B.FLD3
FROM TAB1 A, TAB2 B
WHERE A.KEY = B.KEY
AND A.FLD1 = '10'
AND B.FLD2 LIKE 'A%'
;
- SQL은 어떤 테이블이 먼저 액세스 되든 결과는 동일
- A.FLD1 = '10' 조건은 통계정보에 의한 변별력 판단이 가능
- B.FLD2 LIKE 'A%' 조건은 통계정보에 의한 변별력 판단이 불가
- 어느 테이블을 먼저 액세스 해야 하는가?
- 액세스 순서에 따라 전체 일량이 달라짐
- 일량을 최소화하기 위해서 변별력이 좋은 테이블이 먼저 액세스 되어야 함