<NL 조인>
- 랜덤 액세스 위주의 조인
- 한레코드씩 순차적으로 진행
- 테이블의 크기가 작을수록 좋음
- 온라인 프로그램에서 사용할 때 좋음
- Driving 테이블의 크기가 가장 많은 영향을 준다.
<SMJ>
- 조인하기전에 정렬
- 넓은 데이터 처리에 유리함
- 정렬에 필요한 데이터가 많아지면 메모리대신 디스크를 사용하므로 성능이 떨어질 수 있음
- 조인 조건의 인덱스 유무에 영향을 받지 않지만 Sort 가 필요하다.
<Hash 조인>
- 한쪽 테이블의 크기가 작을수록 좋음
- NL의 랜덤액세스, SMJ의 정렬작업에 대한 부담으로 등장
- 인덱스를 사용하지 않음, 인덱스 대신 Hash 함수를 사용
- 동등조인(=) 에서만 사용
- 수행 빈도가 높은 OLTP성 작업에서는 불리함
- 수행 빈도가 낮고, 쿼리 수행시간이 오래 걸리는, 대용량 테이블 조인 작업에 유리함(DW, OLAP성 쿼리)
반응형
'데이타베이스' 카테고리의 다른 글
[postgres] 존재하는 테이블에 대해서 ERROR: relation "version" does not exist. 오류가 발생할 때 (1) | 2020.11.02 |
---|---|
[postgres] postgres 데이터베이스 명령어 (0) | 2020.09.13 |
[MySQL] Cannot convert value '0000-00-00 00:00:00' from column 12 to TIMESTAMP 오류 처리 (0) | 2017.03.10 |
[mysql] datetime 객체사이의 시간차 계산을 위한 TIMESTAMPDIFF() 함수 (0) | 2017.01.20 |
[mysql] 쉘 스크립트에서 mysql 쿼리 실행하기 (0) | 2017.01.17 |