SQL

SQL

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

페이지 정보

profile_image
영삼이
0건 58회 25-03-28 15:22

본문

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

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)으로 확인 필요


✔️ 인덱스가 있다고 무조건 빠른 건 아니다.
인덱스 정의와 조건 순서가 일치할 때 비로소 성능을 낸다.
조건 순서, 꼭 의식하고 작성하자.

댓글목록

등록된 댓글이 없습니다.