오라클 인덱스 스캔 방식 정리 - FULL SCAN, RANGE SCAN, UNIQUE SCAN 차이점

Posted by heoncode
2025. 4. 8. 01:32 오라클 실무 쿼리 튜닝
728x90
반응형
SMALL

오라클에서 쿼리의 성능을 결정짓는 중요한 요소 중 하나가 인덱스 사용 방식입니다. 이번 글에서는 실무에서 자주 마주치는 인덱스 스캔 방식 3가지를 정리해봅니다.


✅ 1. INDEX FULL SCAN

  • 전체 인덱스를 처음부터 끝까지 읽는 방식입니다.
  • 조건절의 범위가 넓거나, 정렬이 필요한 경우 사용됩니다.
  • 테이블 액세스 없이 인덱스에서만 데이터를 해결할 수 있는 경우 효율적일 수 있습니다.
  • 사용 예시: WHERE 절이 없고 ORDER BY만 있을 때 등

✅ 2. INDEX RANGE SCAN

  • 가장 일반적으로 사용되는 인덱스 스캔 방식입니다.
  • 조건절에 의해 특정 범위의 인덱스 값을 읽을 때 사용됩니다.
  • 주로 BETWEEN, >, <, IN, LIKE와 같은 조건이 포함될 때 발생합니다.
  • 사용 예시: WHERE age BETWEEN 20 AND 29

✅ 3. INDEX UNIQUE SCAN

  • 인덱스 컬럼이 UNIQUE이고, 조건절이 정확히 하나의 값을 지정할 때 사용됩니다.
  • 항상 최대 하나의 결과만 반환합니다.
  • 성능상 가장 빠른 인덱스 스캔 방식 중 하나입니다.
  • 사용 예시: WHERE id = 123 (id가 유니크한 경우)

🧠 실무 팁

  • 항상 인덱스를 만든다고 좋은 게 아닙니다. 테이블 구조, 조회 조건, 반환 건수 등을 고려해야 합니다.
  • SQL 실행 계획(EXPLAIN PLAN)을 통해 실제 어떤 인덱스 스캔 방식이 사용되는지 확인해보세요.

📌 마무리
인덱스 스캔 방식을 이해하고 있으면, 실행 계획을 해석할 수 있고 쿼리 튜닝 시 효과적으로 방향을 잡을 수 있습니다. 다음 글에서는 "INDEX SKIP SCAN"과 "FAST FULL SCAN" 등 잘 알려지지 않은 스캔 방식도 소개할 예정입니다.

#오라클 #SQL튜닝 #인덱스스캔 #INDEXSCAN #쿼리최적화
#DB성능 #오라클실무 #오라클튜닝 #실무SQL #개발자블로그 #티스토리블로그

728x90
반응형
LIST