게시일: Jan 10, 2012 11:2:58 PM
두 테이블 중 WHERE 조건에 의해 필터링된 로우수가 적은 테이블을 대상으로 해쉬 테이블을 만든 후에 조인 조건에 따라 다른 하나의 테이블의 데이터를 검색하는 방법이다.
해쉬 테이블을 만든다는 점을 제외하면 NLJ와 비슷하다고 할 수 있다. (해쉬 테이블이 드라이빙 테이블이 되어 NLJ를 수행한다고 보면 된다.)
1. HASH_AREA_SIZE에 지정된 메모리 값 내에서 해쉬 테이블을 만들게 되므로 대상 테이블의 크기가 이 값 내에 있을 경우 유용한 조인 방법이다.
보통 HASH_AREA_SIZ 값은 SORT_AREA_SIZE 값의 2배로 설정한다.
2. 해쉬 테이블의 대상이 되는 테이블을 NLJ처럼 드라이빙 테이블이라고도 하지만 빌드 테이블(build table)이라고도 한다.
3. 조인 조건에서 동등조건(=)이 사용되었을 경우에만 가능하다.
4. 보통 반환되는 로우수가 적은 테이블(이 테이블을 대상으로 해서 해쉬 테이블을 만든다)과 이에 반해 반환되는 로우수가 상당히 많은 테이블을 조인할 경우 유리하다.