반응형
중첩 루프 조인 (Nested Loop Join)
- 정의: 두 테이블의 데이터를 각각 순회하며 조건에 맞는 데이터를 조인하는 방식.
- 작동 원리:
- 첫 번째 테이블의 각 행을 순회.
- 두 번째 테이블을 순회하며 조건에 맞는 데이터를 찾음.
- 특징:
- 작은 데이터셋에 적합.
- 두 테이블의 크기가 크면 성능 저하 가능.
정렬 병합 조인 (Sort-Merge Join)
- 정의: 두 테이블을 각각 정렬한 후, 정렬된 데이터를 병합하며 조인하는 방식.
- 작동 원리:
- 두 테이블의 조인 키를 기준으로 정렬.
- 정렬된 데이터셋을 병합하면서 조건에 맞는 데이터를 반환.
- 특징:
- 정렬된 데이터에서 효율적으로 작동.
- 정렬 단계가 추가되므로 테이블 크기에 따라 비용이 증가.
해시 조인 (Hash Join)
- 정의: 해시 테이블을 만들어 조인하는 방식으로, 대규모 데이터 처리에 적합.
- 단계:
- 빌드 단계 (Build Phase):
- 작은 테이블(빌드 입력)을 선택하여 조인 키를 기준으로 해시 테이블 생성.
- 해시 테이블에 키-값 쌍을 저장.
- 프로브 단계 (Probe Phase):
- 큰 테이블(프로브 입력)을 순회하며 해시 테이블에서 조인 조건을 만족하는 데이터를 찾음.
- 빌드 단계 (Build Phase):
- 특징:
- 대용량 데이터와 복잡한 조인에서 효율적.
- 메모리 사용량이 많을 수 있음.
반응형
'SW개발 > 면접을 위한 CS 전공지식 노트' 카테고리의 다른 글
5.1 복잡도 (0) | 2025.02.05 |
---|---|
참고. 데이터베이스 관련 면접 질문 리스트 (0) | 2025.01.24 |
4.6 조인의 종류 (0) | 2025.01.22 |
4.5 인덱스 (0) | 2025.01.22 |
4.4 데이터베이스의 종류 (3) | 2025.01.22 |