DB2에서 HASH JOIN 과 NL JOIN 과의 차이점을 쉽게 풀어주실수 있나요?
DB2에서 HASH JOIN 과 NL JOIN 과의 차이점을 쉽게 풀어주실수 있나요?
대용량 쿼리시 해시조인을 사용하라.. 라고만 알고 있어서.
차이점을 좀 명확히 알고 싶습니다.
미리.감사드려요
55글자 더 채워주세요.
1개의 답변이 있어요!
안녕하세요.
NL Join은 random access 방식으로 데이터를 읽게 됩니다. 랜덤으로 데이터에 접근하게 되므로 I/O 발생이 많은 대용량 쿼리 시 성능상 좋지 않습니다.
Hash Join은 join 컬럼을 기준으로 hash 함수를 적용하여 서로 동등한 값인지 비교하여 수행하게 됩니다. NL Join의 random access 문제점과 Sort Merge Join의 정렬 부담을 해결하기 위한 대안으로 등장했으며, 동등 (equal) 조건만 사용이 가능합니다.