[SQL] 조인 순서, 성능 차이를 만드는 이유

Unit·2025년 5월 29일

SQL

목록 보기
17/59

SQL 작성 시 조인 순서에 따라
쿼리 속도가 몇 배 차이 날 수 있습니다.


✅ 왜 순서가 중요한가?

SQL은 작성한 코드 순서대로 실행되지 않습니다.
DB 엔진은 쿼리를 최적화를 위해 실행 계획(Execution Plan)을 따로 만들어 처리합니다.

그 과정에서 조인 순서에 따라 선택되는 처리 방식이 달라지고,
특히 Nested Loop Join에서는 순서에 따라 성능 차이가 크게 발생합니다.


✅ Nested Loop Join이란?

• 한쪽 테이블의 행을 하나씩 읽고, 다른 테이블에서 매번 찾아보는 방식입니다.

예를 들어 :
• A 테이블 : 100행
• B 테이블 : 10만 행

A를 먼저 읽고 B를 찾으면 → 100번만 B를 검색
B를 먼저 읽고 A를 찾으면 → 10만 번 A를 검색

-> 작은 테이블을 먼저 읽는 게 훨씬 빠른 이유입니다.


✅ 실행 계획을 확인해보세요

SQL에서는 EXPLAIN을 실행해
• 어떤 테이블이 먼저 읽히는지,
• 어떤 조인 방식(Nested Loop 등)을 사용하는지
확인해보세요.

조인 순서가 예상과 다르다면, SQL 작성 순서를 바꿔보세요.


정리

✔️ 조인 순서는 성능에 큰 영향을 줍니다.
✔️ 작은 테이블부터 조인하는 것이 유리합니다.
✔️ EXPLAIN으로 실행 계획을 확인하는 습관을 들이세요.

profile
협업, 유지보수, 최적화를 고려한 데이터 실무 팁을 정리합니다.

0개의 댓글