안녕하세요.
NL Join은 random access 방식으로 데이터를 읽게 됩니다. 랜덤으로 데이터에 접근하게 되므로 I/O 발생이 많은 대용량 쿼리 시 성능상 좋지 않습니다.
Hash Join은 join 컬럼을 기준으로 hash 함수를 적용하여 서로 동등한 값인지 비교하여 수행하게 됩니다. NL Join의 random access 문제점과 Sort Merge Join의 정렬 부담을 해결하기 위한 대안으로 등장했으며, 동등 (equal) 조건만 사용이 가능합니다.