728x90
조인 기법
조인 기법 | 설명 |
NL Join | OLTP의 목록 처리 업무에 많이 사용 |
Sort Merge Join | DW(Data Warehouse) 등의 데이터 집계 업무에 많이 사용 |
Hash Join |
NL Join (Nested Loot Join)
NL Join은 프로그래밍에서 사용하는 중첩된 반복문과 유사한 방식으로 조인을 수행한다.
조인 컬럼에 적당한 인덱스가 있어서 자연조인(Natural Join)이 효율적일 때 유용하며, Driving Table(선행 테이블)의 조인 데이터 양이 큰 영향을 주는 조인 방식이다.
Sort Merge Join
Sort Merge Join은 조인 컬럼을 기준으로 데이터를 정렬하여 조인을 수행한다.
NL Join은 주로 랜덤 액세스 방식으로 데이터를 읽은 반면 Sort Merge Join은 주로 스캔 방식으로 데이터를 읽는다.
Sort Merge Join은 랜덤 액세스로 NL Join에서 부담이 되던 넓은 범위의 데이터를 처리할 때 이용 되던 조인 기법이다.
그러나 Sort Merge Join은 정렬한 데이터가 많아 메모리에서 모든 정렬 작업을 수행하기 어려운 경우에는 임시 영역(디스크)을 사용하기 때문에 성능이 떨어질 수 있다.
Hash Join
Hash Join은 해쉬 기법을 이용하여 조인을 수행한다.
Hash Join은 조인 칼럼의 인덱스를 사용하지 않기 때문에 조인 컬럼의 인덱스가 존재하지 않을 경우에도 사용할 수 있는 조인 기법이다.
Hash Join은 해쉬 함수를 이용하여 조인을 수행하기 때문에 '='로 수행하는 조인 즉, 동등 조인(EQUI JOIN)에서만 사용 할 수 있다.
728x90
'자격증 > SQLD' 카테고리의 다른 글
[SQLD] 트랜잭션 Isolation Level (0) | 2023.09.04 |
---|---|
[SQLD] DROP vs TRUNCATE vs DELETE (0) | 2023.09.04 |
[SQLD] SQL 최적화 기본 원리 - 인덱스 기본 (0) | 2023.08.31 |
[SQLD] SQL 최적화 기본 원리 - 옵티마이저와 실행계획 (0) | 2023.08.31 |
[SQLD] SQL 활용 - 절차형 SQL (0) | 2023.08.31 |