시스템을 운영하다 보면 꼭 한번씩 DB상의 처리 속도가 늦어져 장애🤯로 이어질 뻔한 상황이 생기는데, 로직 상의 문제인 경우도 있지만, 내가 생각했던 INDEX를 타지 않거나 옵티마이저(OPTIMIZER)가 실행계획을 변경시켜 버리는 상황이 종종 발생하곤 했었다. 옵티마이저(OPTIMIZER)?? 그게 뭔데? 🙋♂️ 옵티마이저(OPTIMIZER)에 대해 간단히 설명하면, 가장 효율적인 방법으로 SQL을 수행할 최적의 처리 경로를 생성해주는 DBMS의 핵심 엔진이다. 먼저, INDEX를 타지 않는 경우에 대해 알아보고, 옵티마이저에 의존하지 않고 INDEX를 탈 수 있도록 HINT를 주는 방법에 대해 추가적으로 알아보자. INDEX를 타지 않는 경우 1) INDEX가 걸려있는 컬럼 절을 변형한 경우 - ..