조인의 원리를 기반으로 조인 작업이 이루어집니다. 조인 알고리즘으로 중첩 루프 조인, 정렬 병합 조인, 해시 조인이 있습니다.

1. 중첩 루프 조인(NLJ, Nested Loop Join)

중첩 for 문과 같은 원리로 외부 테이블의 각 행에 대해 내부 테이블을 전체 스캔하며 조인 조건을 만족하는 행을 찾는 방법입니다. 데이터의 양이 적을 때는 효율적이지만 많을 경우엔 성능이 떨어집니다.

2. 정렬 병합 조인(Sort-Merge Join)

두 테이블을 조인할 키를 기준으로 정렬하고 조인 작업을 수행하는 방법입니다.

3. 해시 조인(Hash Join)

한 테이블을 해시 테이블로 만들고 다른 테이블을 해시 테이블에 조인하는 방법입니다.

해시 조인은 Build 단계와 Probe 단계로 진행됩니다.

 

1. Build 단계

한 테이블(일반적으로 작은 테이블)을 해시 테이블로 만드는 단계입니다. 조인에 사용되는 필드(attribute)가 해시 테이블의 키로 사용됩니다.

 

2. Probe 단계

다른 테이블(큰 쪽 테이블)을 읽어 해시 테이블을 탐색하면서 조인하는 과정입니다. 각 테이블을 한 번씩만 읽게 되어 중첩 루프 조인보다 보통은 성능이 좋습니다.

 

728x90

+ Recent posts