문제
비용 기반 옵티마이저(CBO)가 인덱스 스캔 대신 전체 테이블 스캔을 선택하는 상황으로 가장 적절한 것은?
① 인덱스가 존재하지 않는 컬럼을 조건으로 사용하는 경우 ② 조회 결과가 전체 데이터의 80% 이상을 차지하는 경우 ③ WHERE 절에 함수가 적용된 인덱스 컬럼을 사용하는 경우 ④ 통계 정보가 오래되어 부정확한 상태인 경우
정답
2번
해설
CBO는 비용 계산을 통해 실행 계획을 결정하며, 조회 결과가 전체 데이터의 대부분을 차지하는 경우에는 인덱스를 통한 랜덤 액세스보다 전체 테이블 스캔이 더 효율적일 수 있습니다. ①은 해당 컬럼에 사용할 인덱스가 없는 경우, ③은 함수 적용으로 일반 인덱스를 사용하기 어려운 경우, ④는 부정확한 통계로 잘못된 실행 계획이 선택될 수 있는 경우입니다.