EXPLAIN으로 실행 계획을 분석해 성능을 최적화하라
페이지 정보

영삼이
본문
✅ EXPLAIN
으로 실행 계획을 분석해 성능을 최적화하라
쿼리가 느리다면 실행 계획을 확인하자
❌ 성능이 느린 쿼리
SELECT *
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE o.status = 'paid';
-
쿼리 성능이 느려질 수 있는 원인
-
인덱스를 사용하지 않거나 잘못된 인덱스 사용
-
조인 순서나 필터링 순서가 비효율적일 수 있음
-
✅ EXPLAIN
으로 실행 계획 분석
EXPLAIN SELECT *
FROM orders o
JOIN customers c ON o.customer_id = c.id
WHERE o.status = 'paid';
-
EXPLAIN
은 쿼리가 어떻게 실행되는지 실행 계획을 보여줌 -
인덱스 사용 여부, 조인 순서, 파일 읽기 순서 등을 확인할 수 있음
예시: 실행 계획 확인
EXPLAIN SELECT user_id, COUNT(*)
FROM orders
WHERE status = 'paid'
GROUP BY user_id;
-
출력 예시에서
Using index
또는Using where
같은 정보를 확인 -
이를 통해 인덱스를 잘 사용하고 있는지, 불필요한 테이블 스캔이 발생하는지 알 수 있음
추가 팁
-
인덱스 사용 여부:
Using index
가 표시되면 인덱스를 잘 사용하고 있다는 의미 -
전체 테이블 스캔:
ALL
이 표시되면 테이블 전체를 스캔하고 있다는 의미 -
조인 순서 최적화: 실행 계획에서 조인 순서를 확인하고, 효율적인 순서로 변경할 수 있음
✔️ 쿼리가 느릴 때는 EXPLAIN
을 사용해 실행 계획을 분석하는 것이 첫걸음이다.
쿼리 성능 문제를 해결하려면 실행 계획을 분석하고, 인덱스나 조인 순서를 최적화하는 게 중요하다.
- 이전글DISTINCT는 성능 저하를 일으킬 수 있다 — 중복 데이터 처리 시 GROUP BY로 대체하라 25.03.28
- 다음글INNER JOIN과 LEFT JOIN의 차이점을 명확히 이해하고 사용하라 25.03.28
댓글목록
등록된 댓글이 없습니다.