✅ 인덱스는 조건 순서에 따라 무용지물이 될 수 있다
페이지 정보

영삼이
본문
✅ 인덱스는 조건 순서에 따라 무용지물이 될 수 있다
WHERE 절의 순서가 실행 계획에 영향을 미친다
❌ 인덱스를 만들었는데도 느린 쿼리
-- 인덱스 생성
CREATE INDEX idx_user_status_age ON users(status, age);
-- 느린 쿼리
SELECT * FROM users WHERE age = 30 AND status = 'active';
-
조건이 순서만 바뀌었을 뿐인데 인덱스를 사용하지 않을 수 있음
-
인덱스는 정의된 순서대로 조건이 나와야 잘 작동함
✅ 인덱스 순서에 맞춘 조건 작성
SELECT * FROM users WHERE status = 'active' AND age = 30;
-
status, age
순서대로 조건을 쓰면
복합 인덱스를 효과적으로 활용 가능
추가 팁
-
WHERE 절의 조건 순서가 항상 중요하진 않음
-
하지만 복합 인덱스를 썼다면 순서 맞추는 게 유리
-
쿼리 실행계획(
EXPLAIN
)으로 확인 필요
✔️ 인덱스가 있다고 무조건 빠른 건 아니다.
인덱스 정의와 조건 순서가 일치할 때 비로소 성능을 낸다.
조건 순서, 꼭 의식하고 작성하자.
- 이전글서브쿼리는 SELECT 말고 FROM에도 쓸 수 있다 25.03.28
- 다음글✅ OFFSET은 페이지가 커질수록 느려진다 25.03.28
댓글목록
등록된 댓글이 없습니다.