[SQLD 퀴즈] Hash Join

다음 중 Hash Join의 특징을 가장 적절하게 표현한 것을 2개 고르시오.


① Driving Table의 검색범위가 성능에 가장 큰 영향을 주는 조인 방식이다.
② 내부적으로 Function을 사용한다.
③ 조인 조건의 인덱스 유무에 영향을 받지 않지만 Sort가 필요하다.
④ 크기 차이가 나는 두 집합의 조인 시에 유리하며, Sort가 일어나지 않는다.

 

 

[출처] http://www.dbguide.net/da.db?cmd=snb9_4_view&boardUid=168442&boardConfigUid=81

 

 

정답 : ②, ④

 

Driving Table의 데이터 양이 가장 큰 영향을 주는 조인 방식이다.(NLJ)

 

NLJ는 조인 테이블의 순서에 따라 일의 양이 변하므로 가장 드라이빙 테이블의 영향을 많이 받는다. HJ도 데이터 대상이 적은 테이블을 드라이빙 테이블로 사용하는 것이 유리하다.

 

조인 Key에 인덱스가 아닌 Function을 적용한다.(HJ)

 

HJ는 조인 Key를 만들기 위해 Hash 함수를 사용하다.

 

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

 

SMJ는 조인 조건을 확인하기 위해 데이터 정렬이 꼭 필요하다.

 

크기 차이가 나는 두 집합의 데이터를 처리하는데 장점이 있고, Sort가 일어나지 않는다.(HJ)

 

크기가 차이 나는 두 집합의 데이터를 처리하는데 적합하고, SORT를 할 필요가 없기 때문에 일반적으로 SMJ보다 효과적이다. (HW 자원 사용 많음)