SQLD데이터 모델과 SQL성능 데이터 모델링난이도 2MCQ

SQLD 성능 데이터 모델링 기출문제 #84

문제

다음 테이블과 인덱스 설정에서 주어진 SQL의 실행 결과로 가장 적절한 것은?

SQL
CREATE TABLE SALES ( SALE_DATE DATE, PRODUCT_ID INT, AMOUNT INT ); CREATE INDEX IX_SALES ON SALES(SALE_DATE, PRODUCT_ID); -- 데이터 INSERT INTO SALES VALUES('2023-01-01', 1, 100); INSERT INTO SALES VALUES('2023-01-02', 1, 200); INSERT INTO SALES VALUES('2023-01-01', 2, 150); INSERT INTO SALES VALUES('2023-01-03', 1, 300); SELECT COUNT(*) FROM SALES WHERE PRODUCT_ID = 1 AND SALE_DATE BETWEEN '2023-01-01' AND '2023-01-02';

① 1 ② 2 ③ 3 ④ 인덱스를 사용할 수 없어 Full Table Scan 발생

정답

2

해설

② PRODUCT_ID = 1이고 SALE_DATE가 '2023-01-01'과 '2023-01-02' 사이인 데이터는 ('2023-01-01', 1, 100)과 ('2023-01-02', 1, 200) 총 2건입니다. 인덱스가 (SALE_DATE, PRODUCT_ID) 순서로 구성되어 있지만, 범위조건인 SALE_DATE를 먼저 처리하고 등치조건인 PRODUCT_ID로 필터링하여 결과를 얻을 수 있습니다. ① 1건이 아닙니다. ③ 3건이 아닙니다. ④ 인덱스는 사용 가능합니다.

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

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

[SQLD] 성능 데이터 모델링 데이터 모델과 SQL 기출 #84 | sqldpass