SQLD데이터 모델과 SQL난이도 3MCQ

SQLD 데이터 모델과 SQL 기출문제 #906

문제

다음 테이블에서 인덱스 설계 시 고려해야 할 요소들을 분석한 결과로 가장 적절한 것은?

SQL
[주문] 주문번호(PK), 고객ID, 주문일자, 상품코드, 수량, 주문상태 -- 조회 패턴 분석 결과 -- 90%: WHERE 고객ID = ? AND 주문일자 BETWEEN ? AND ? -- 8%: WHERE 주문상태 = 'PENDING' ORDER BY 주문일자 -- 2%: WHERE 상품코드 = ?

① (고객ID, 주문일자, 주문상태) 복합 인덱스가 최적이다 ② 주문상태 단일 인덱스만으로 모든 쿼리를 효율적으로 처리할 수 있다 ③ (고객ID, 주문일자) 복합 인덱스와 (주문상태, 주문일자) 복합 인덱스를 각각 생성해야 한다 ④ 상품코드는 사용 빈도가 낮으므로 인덱스 생성 시 우선순위에서 제외해야 한다

정답

3

해설

주요 접근 패턴 90%를 위해 (고객ID, 주문일자) 복합 인덱스가 필요하고, 8%의 패턴을 위해 (주문상태, 주문일자) 복합 인덱스가 필요합니다. 범위 조건인 주문일자는 각 인덱스의 두 번째 위치에 배치하는 것이 효율적입니다. ①은 90% 패턴에서 주문상태가 불필요, ②는 고객ID 조건을 처리할 수 없음, ④는 2%라도 필요시 별도 고려가 필요하지만 현재 제시된 선택지에서는 우선순위가 낮음이 맞습니다.

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

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

[SQLD] 데이터 모델과 SQL 기출 #906 | sqldpass