데이타베이스
[DB] NL(Nested Loop)조인, 소트머지 조인(SMJ), Hash 조인 비교
hs_seo
2017. 3. 28. 15:57
<NL 조인>
- 랜덤 액세스 위주의 조인
- 한레코드씩 순차적으로 진행
- 테이블의 크기가 작을수록 좋음
- 온라인 프로그램에서 사용할 때 좋음
- Driving 테이블의 크기가 가장 많은 영향을 준다.
<SMJ>
- 조인하기전에 정렬
- 넓은 데이터 처리에 유리함
- 정렬에 필요한 데이터가 많아지면 메모리대신 디스크를 사용하므로 성능이 떨어질 수 있음
- 조인 조건의 인덱스 유무에 영향을 받지 않지만 Sort 가 필요하다.
<Hash 조인>
- 한쪽 테이블의 크기가 작을수록 좋음
- NL의 랜덤액세스, SMJ의 정렬작업에 대한 부담으로 등장
- 인덱스를 사용하지 않음, 인덱스 대신 Hash 함수를 사용
- 동등조인(=) 에서만 사용
- 수행 빈도가 높은 OLTP성 작업에서는 불리함
- 수행 빈도가 낮고, 쿼리 수행시간이 오래 걸리는, 대용량 테이블 조인 작업에 유리함(DW, OLAP성 쿼리)
반응형