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

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

문제

다음 테이블과 인덱스가 있을 때, CBO가 인덱스 대신 FULL TABLE SCAN을 선택할 가능성이 가장 높은 쿼리는?

[테이블 정보]

  • CUSTOMER 테이블: 1,000,000건
  • 인덱스: IDX_CUST_GRADE(GRADE)
  • GRADE 컬럼 분포: 'VIP' 10%, 'GOLD' 20%, 'SILVER' 70%

① SELECT * FROM CUSTOMER WHERE GRADE = 'VIP' ② SELECT COUNT(*) FROM CUSTOMER WHERE GRADE = 'GOLD' ③ SELECT * FROM CUSTOMER WHERE GRADE = 'SILVER' ④ SELECT GRADE FROM CUSTOMER WHERE GRADE = 'VIP'

정답

3

해설

③ GRADE = 'SILVER' 조건은 전체 데이터의 70%(700,000건)를 조회하므로 CBO는 FULL TABLE SCAN을 선택할 가능성이 높습니다. 일반적으로 전체 데이터의 15-20% 이상 조회 시 FULL TABLE SCAN이 더 효율적으로 판단됩니다. ① VIP는 10%로 인덱스 스캔이 효율적입니다. ② COUNT 쿼리는 인덱스만으로 처리 가능합니다. ④ 커버링 인덱스로 처리 가능하므로 인덱스 스캔을 선택합니다.

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

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

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