[sql] 인덱스를 사용하는 쿼리의 실행 계획은 어떤 차이가 있나요?
- 인덱스 스캔 또는 인덱스 레인지 스캔: 인덱스를 사용하여 데이터를 찾는 방식으로, 테이블 전체를 스캔하는 것보다 효율적일 수 있습니다.
- 테이블 액세스 방식: 인덱스를 통해 데이터를 읽는 방법에 따라 인덱스를 사용하는 쿼리와 인덱스를 사용하지 않는 쿼리의 실행 계획이 달라질 수 있습니다.
- 조인 방식: 인덱스를 사용한 조인이 인덱스를 사용하지 않은 조인과 다를 수 있습니다.
하지만 모든 경우에 인덱스를 사용하는 것이 항상 최상의 선택은 아닙니다. 데이터 양, 데이터 분포, 쿼리 유형 등에 따라 인덱스를 사용하는 것이 오히려 성능을 저하시킬 수도 있습니다.
위와 같은 이유로, 데이터베이스 성능을 최적화하기 위해서는 인덱스를 어떻게 사용할지에 대한 이해와 쿼리 실행 계획을 분석하는 능력이 필요합니다.
참고 자료:
- https://use-the-index-luke.com/