반응형
nested loop 조인
- 하나의 테이블에서 데이터를 먼저 찾고 그 다음 테이블을 조인
- 먼저 조회하는 테이블을 외부 테이블, 그 다음 조회하는 테이블을 내부 테이블이라고 한다.
- 외부테이블의 크기가 작은것을 먼저 찾는것이 중요
- random access가 많이 발생하므로 이를 줄여야 성능 향상.
Sort merge 조인
- 두 개의 테이블을 sort_area라는 메모리 공간에 모두 로딩하고 sort수행
- 두개의 테이블이 sort가 완료되면 두개의 테이블을 merge
- sort가 발생하기 때문에 데이터양이 많아지면 성능이 떨어진다
hash 조인
- 두 개의 테이블 중에서 작은 테이블을 hash 메모리로 로딩하고, 두개의 테이블의 조인키를 사용하여 해시 테이블을 생성
- 해시함수를 사용해서 주소를 계산하고, 해당 주소를 사용해서 테이블을 조인하기 때문에 CPU 연산 많음
- hash조인 시에는 선행 테이블이 충분한 메모리에 로딩되는 크기여야 한다
반응형