
1. 중첩 루프 조인(Nested Loop Join):
간단하고 직관적인 조인 알고리즘이다.
작은 테이블 간의 조인이나 인덱스를 사용할 수 없는 경우에 유용하다.
큰 테이블에서 성능 문제가 발생할 수 있으며, 시간 복잡도가 O(n^2)이다.
2. 정렬 병합 조인(Sort Merge Join):
조인할 테이블이 이미 정렬되어 있는 경우에 사용된다.
입력 테이블을 정렬하고, 정렬된 테이블에서 일치하는 행을 찾아 조인한다.
대량의 데이터를 처리할 때 효율적이며, 외부 조인을 처리할 수 있다.
추가 정렬 작업이 필요하고, 디스크 I/O 비용이 크게 발생할 수 있다.
3.해시 조인(Hash Join):
입력 테이블을 해시 함수를 사용하여 해시 테이블로 변환한다.
동일한 해시 값이 있는 행을 조인한다.
큰 데이터 집합에서 효율적으로 작동하며, 병렬 처리에 적합하다.
메모리 요구 사항이 높을 수 있고, 해시 함수의 성능에 따라 성능이 달라진다.
각 조인 알고리즘은 데이터의 크기, 정렬 상태, 인덱스 사용 가능 여부, 시스템 자원 등에 따라 성능이 달라진다.