문제
대용량 테이블(1000만 건)에서 다음 쿼리 실행 시, CBO가 FULL TABLE SCAN을 선택할 가능성이 가장 높은 경우는?
① WHERE status = 'A' (전체의 5% 해당, 인덱스 존재) ② WHERE created_date BETWEEN '2024-01-01' AND '2024-01-31' (전체의 8% 해당, 인덱스 존재) ③ WHERE region = 'SEOUL' (전체의 40% 해당, 인덱스 존재) ④ WHERE id = 12345 (유니크 인덱스 존재)
정답
3번
해설
CBO는 데이터 선택도가 높을 때(일반적으로 15-20% 이상) FULL TABLE SCAN을 선택합니다. ③번은 전체의 40%에 해당하는 높은 선택도로, 인덱스를 통한 랜덤 액세스보다 순차적인 FULL TABLE SCAN이 더 효율적이라고 판단합니다. ①②는 선택도가 낮아 인덱스 스캔이 효율적이고, ④는 유니크 조건으로 INDEX UNIQUE SCAN을 사용합니다. 대용량 데이터에서 높은 선택도는 FULL TABLE SCAN 선택의 주요 요인입니다.