조인 튜닝 - 이중 반복문 튜닝
NL 조인 - 소용량(인덱스), 조인의 기본
NL 조인의 특징 : 랜덤 액세스 위주의 조인 방식
소트 머지 조인 - 대용량, Temp디스크를 최대한 안쓰기
PGA : 개인 작업 메모리, 다른 프로세스와 공유하지 않는 독립적인 메모리 공간(Lock 필요X), SGA에서 읽을 때 보다 훨씬 빠르다.
기본 메커니즘
1. 소트 단계(인덱스가 없어서 (PGA에서)소트) : 양쪽 집합을 조인 컬럼 기준으로 정렬
2. 머지 단계(조인) : 정렬한 양쪽 집합을 서로 머지한다.
정렬한 결과집합이 PGA에 담을 수 없을 정도로 크면, Temp 디스크에 저장
해시 조인 - 대용량
기본 메커니즘
1. Build 단계 : (Build Input)작은쪽 테이블(맵으로 변환)을 읽어 해시 테이블(해시 맵)을 생성한다. - PGA에 생성
2. Probe 단계 : 큰 쪽 테이블을 읽어 해시 테이블 탐색하며 조인
해시 조인이 빠른 이유 : PGA를 쓰고 Lock을 안걸어서 빠름
대용량 Build Input처리 : 나눠서 정렬한다.
조인 메서드 선택 기준
소량 데이터 조인 : NL조인
대량 데이터 조인 : 해시 조인
대량 데이터 조인인데 해시 조인으로 처리할 수 없을 때(조건식이 등치(=)가 아닐때) : 소트 머지 조인
(최적화된)NL 조인과 해시 조인 : 성능이 같으면 NL 조인
해시 조인이 약간 더 빨라도 NL 조인
NL조인보다 해시 조인이 매우 빠른 경우, 해시 조인
'요약' 카테고리의 다른 글
11. 데이터 베이스 요약 - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.04.01 |
---|---|
10. 데이터 모델링 요약(2) - 패스트캠퍼스 백엔드 부트캠프 3기 (1) | 2025.04.01 |
8. SQL튜닝 요약(2) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.04.01 |
7. 데이터 모델링 요약(1) - 패스트캠퍼스 백엔드 부트캠프 3기 (0) | 2025.03.11 |
6. SQL튜닝 요약(1) - 패스트캠퍼스 백엔드 부트캠프 3기 (1) | 2025.03.07 |