DB/RDB
sql Join 튜닝( 순서 , 방법 )
doriver
2025. 4. 22. 18:23
조인 순서
row갯수 적은것 먼저 스캔하는게 빠름
드라이빙 테이블(Driving Table): 먼저 읽는 테이블로, 작은 테이블을 선택하는 것이 일반적으로 유리
조인 방법( 알고리즘 )
join을 수행하는 방식이 다르고, 그에따라 성능이 다르다.
상황에 따라 적절한 join방법 선택해서 수행하면 됨
| Nested Loop Join | Hash Join | Merge Join |
| 이중 for문을 생각하면 됨 하나씩 반복하며 찾음 |
해시 테이블로 매칭 | 정렬 후 병합 |
| 소규모 - 소규모 | 뭘써도 성능 차이가 크지 않음 |
| 소규모 - 대규모 | 소규모 테이블을 구동 테이블로 하는 Nested Loops를 사용, Hash 사용 검토 |
| 대규모 - 대규모 | 일단 Hash 사용하고, 정렬된 상태라면 Sort Merge 고려 |