Nested Loop
- 순차적 처리(첫번째 테이블 처리후 두번째 테이블 처리)
- 종속적(먼저 처리되는 테이블의 처리범위에 따라 처리량 결정)
- 랜덤(Random) 엑세스 위주
- 연결고리 상태에 따라 영향이 큼
- 좁은 범위에 처리에 적합
Sort Merge
- 두개의 테이블을 따로 처리후 정렬된 결과를 가지고 Join처리
- 전체 범위 처리에 유리
- 연속적인 엑세스 위주
- MySQL에서는 지원안함
조인의 수행속도 결정 요소(Driving)
- 테이블A(1만개) > 테이블B(1천개) > 테이블C(2개) : 최소 10,000회 이상 엑세스
- 테이블C(2개) > 테이블B(1천개) > 테이블A(1만개) : 최대 6회 이하 엑세스
- 옵션으로 사용자가 지정가능
조인의 수행속도 결정 요소(Join순서)
- 조인된 결과의 수가 다음 연결에 대한 일량에 영향을 미침
조인의 수행속도 결정 요소(Index)
- 연결되는 컬럼의 양쪽에 인덱스가 있으면 성능이 높다
댓글 없음:
댓글 쓰기