제3절 조인 수행 원리
1. NL Join
- NL Join은 프로그래밍에서 사용하는 중첩된 반복문과 유사한 방식으로 조인을 수행한다.
- 반복문의 외부에 있는 테이블을 선행 테이블 또는 외부 테이블(Outer Table)이라고 하고,
반복문의 내부에 있는 테이블을 후행 테이블 또는 내부 테이블(Inner Table)이라고 한다. - 선행 테이블 또는 외부 테이블->후행 테이블 또는 내부 테이블
- 결과 행의 수가 적은 테이블을 조인 순서상 선행 테이블로 선택하는 것이 전체 일량을 줄인다.
- 조인이 성공하면 바로 조인 결과를 사용자에게 보여줌으로 온라인 프로그램에 적당하다
2. Sort Merge Join
- 주로 스캔하는 방식으로 데이터를 읽음. 조인 칼럼 인덱스 없어도 사용가능 -> 단, 성능이 떨어질 수 있음
- 조인 칼럼을 기준으로 데이터를 정렬하여 조인을 수행한다.
- NL Join은 주로 랜덤 액세스 방식으로 데이터를 읽는 반면 Sort Merge Join은 주로 스캔 방식으로 데이터를 읽는다.
- Sort Merge Join은 랜덤 액세스로 NL Join에서 부담이 되던 넓은 범위의 데이터를 처리할 때 이용되던 조인 기법이다.
3. Hash Join
- 조인을 수행할 테이블의 조인 칼럼을 기준으로 해쉬 함수를 수행하여 서로 동일한 해쉬 값을 갖는 것들 사이에서 실제 값이 같은지를 비교하면서 조인을 수행한다.
- Sort Merge Join은 랜덤 액세스로 NL Join에서 부담이 되던 넓은 범위의 데이터를 처리할 때 이용되던 조인 기법이다.
- ‘=’로 수행하는 동등 조인에서만 사용할 수 있다.
- 결과 행의 수가 적은 테이블을 선행 테이블로 사용하는 것이 좋다.
'자격증 > SQLD' 카테고리의 다른 글
2021년 41회 조금 늦게 작성하는 SQLD 시험 후기 및 기출문제?? (0) | 2021.06.01 |
---|---|
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제3장 SQL 최적화 기본 원리 / 제2절 인덱스 기본 (0) | 2021.05.28 |
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제3장 SQL 최적화 기본 원리 / 제1절 옵티마이저와 실행계획 (0) | 2021.05.28 |
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제8절 절차형 SQL (0) | 2021.05.27 |
SQLD 정리 / 과목 2 SQL 기본 및 활용 / 제2장 SQL 활용 / 제7절 DCL (0) | 2021.05.27 |