본문 바로가기
데이타베이스

[DB] NL(Nested Loop)조인, 소트머지 조인(SMJ), Hash 조인 비교

by hs_seo 2017. 3. 28.

<NL 조인>

           - 랜덤 액세스 위주의 조인

           - 한레코드씩 순차적으로 진행

           - 테이블의 크기가 작을수록 좋음

           - 온라인 프로그램에서 사용할 때 좋음

           - Driving 테이블의 크기가 가장 많은 영향을 준다.


<SMJ>

           - 조인하기전에 정렬

           - 넓은 데이터 처리에 유리함

           - 정렬에 필요한 데이터가 많아지면 메모리대신 디스크를 사용하므로 성능이 떨어질 수 있음

           - 조인 조건의 인덱스 유무에 영향을 받지 않지만 Sort 가 필요하다.


<Hash 조인>

           - 한쪽 테이블의 크기가 작을수록 좋음

           - NL의 랜덤액세스, SMJ의 정렬작업에 대한 부담으로 등장

           - 인덱스를 사용하지 않음, 인덱스 대신 Hash 함수를 사용

           - 동등조인(=) 에서만 사용

           - 수행 빈도가 높은 OLTP성 작업에서는 불리함

           - 수행 빈도가 낮고, 쿼리 수행시간이 오래 걸리는, 대용량 테이블 조인 작업에 유리함(DW, OLAP성 쿼리)



반응형