DB Index를 처음 배우면 이런 생각을 하기 쉽습니다.“Index를 만들었으니 이 Query는 빨라질 것이다.”하지만 실무에서는 Index가 있는데도 Query가 느린 경우를 자주 만납니다.이때 문제를 제대로 보려면 Index 존재 여부가 아니라, Optimizer가 실제로 어떤 Execution plan을 선택했는지를 확인해야 합니다. Index는 “만들면 무조건 쓰이는 장치”가 아니라, Optimizer가 Cost를 계산해 선택할 수도 있고 선택하지 않을 수도 있는 Access path입니다. 이번 글에서는 DB Index가 있어도 Query가 느려지는 이유를 Selectivity, Composite index, 함수로 감싼 컬럼, Execution plan 관점에서 정리해보겠습니다. Ind..