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

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

문제

대용량 테이블(1000만 건)에서 다음 조건으로 조회할 때, CBO가 FULL TABLE SCAN을 선택하는 가장 적절한 이유는?

SQL
SELECT * FROM big_table WHERE status IN ('A','B','C','D','E'); -- status 컬럼에 인덱스 존재 -- 전체 데이터의 80%가 해당 조건에 만족

① 인덱스가 B-Tree 구조가 아니어서 ② IN 조건은 인덱스 사용이 불가능해서 ③ 높은 선택도로 인한 비용 계산 결과 ④ 통계 정보가 없어서

정답

3

해설

③ 전체 데이터의 80%를 조회하는 높은 선택도에서는 인덱스를 통한 Random I/O보다 FULL TABLE SCAN의 Sequential I/O가 비용상 효율적. ① B-Tree 인덱스여도 선택도가 높으면 FULL SCAN 선택. ② IN 조건도 인덱스 사용 가능. ④ 통계 정보 기반으로 비용 계산한 결과.

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

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

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