실무 활용 팁
인덱스가 많다고 성능이 항상 보장되는 것은 아닙니다. 오히려 인덱스로 인해 성능에 문제가 발생할 수도 있습니다. 인덱스를 사용할 때는 다음 사항을 고려해야 합니다.
1 분석 시스템(OLAP)과 운영 시스템(OLTP)에 따라 인덱스 유형이 달라진다.
2 인덱스가 지나치게 많으면 과부하가 발생한다.
3 조인할 때 옵티마이저가 인덱스를 사용하도록 유도해야 한다.
4 데이터베이스 시스템 운영 상황에 따라 별도의 저장 공간으로 지정이 필요하거나 재생성이 필요할 수 있다.
5 DML 문을 자주 사용하는 경우에는 데이터베이스 시스템 성능에 악영향을 끼칠 수 있다.
인덱스는 다음과 같은 경우에 사용하는 것을 추천합니다.
1 열이 WHERE 절의 조인 조건으로 자주 사용된다.
2 열이 다양한 값을 포함한다. 또한 많은 수의 null 값을 포함한다.
3 테이블 크기가 대형이고 대부분의 질의가 행의 2~4% 이하보다 적게 읽어 들일 것으로 예상된다.
반대로 다음과 같은 경우에는 인덱스를 사용하지 않는 편이 낫습니다.
1 열이 WHERE 절의 조인 조건으로 자주 사용되지 않는다.
2 테이블 크기가 소형이고 열의 데이터 분포가 고르지 않다.
3 질의의 대부분이 행의 2~4% 이상을 읽어 들일 것으로 예상된다.
4 테이블이 자주 갱신된다. DML 문을 자주 사용하면 인덱스의 유지 작업을 위해 상대적으로 더 많은 시간이 걸린다.