SQLD관리 구문옵티마이저/인덱스난이도 2MCQ

SQLD 옵티마이저/인덱스 기출문제 #69

문제

다음 상황에서 CBO가 인덱스 대신 FULL TABLE SCAN을 선택할 가능성이 가장 높은 경우는?

-- 테이블: 100만 건, 인덱스: IDX_STATUS(STATUS) -- STATUS 컬럼 값 분포: 'A'(95만 건), 'B'(3만 건), 'C'(2만 건)

① SELECT * FROM TABLE WHERE STATUS = 'C' ② SELECT * FROM TABLE WHERE STATUS = 'B' ③ SELECT * FROM TABLE WHERE STATUS = 'A' ④ SELECT * FROM TABLE WHERE STATUS IN ('B', 'C')

정답

3

해설

③ 정답: STATUS = 'A'는 전체 데이터의 95%(95만/100만)를 조회하므로, 인덱스를 통한 랜덤 액세스보다 FULL TABLE SCAN이 더 효율적입니다. CBO는 일반적으로 전체 데이터의 5-15% 이상 조회 시 테이블 스캔을 선택합니다. ① 틀림: 2%만 조회하므로 인덱스 스캔이 효율적입니다. ② 틀림: 3%만 조회하므로 인덱스 스캔이 효율적입니다. ④ 틀림: 5%만 조회하므로 인덱스 스캔이 효율적입니다.

이런 문제 20~50개를 한 번에 풀어보세요

매번 새로 추가되는 모의고사 + 오답 자동 복습 + 회차별 실력 추적. 회원가입 후 무료 이용.

[SQLD] 옵티마이저/인덱스 관리 구문 기출 #69 | sqldpass