728x90


138. 다음 중 아래의 내용에 대한 설명으로 가장 적절한 것을 2개 고르시오.
[INDEX 생성]
CREATE INDEX IDX_EMP_01 ON EMP (REGIST_DATE, DEPTNO);
[SQL 실행]
SELECT *
FROM EMP
WHERE DEPTNO=47
AND
REGIST_DATE BETWEEN '2015.02.01' AND '2015.02.28';
1 실행된 SQL에 대해서 인덱스 비효율이 있어 인덱스의 컬럼을 DEPTNO + REGIST_DATE 순으로 변경할 필요가 있다.
2 IDX_EMP_01 인덱스를 이용하여 DEPTNO=47 조건을 효율적으로 탐색할 수 있다.
3 REGIST DATE 컬럼에 대한 조건을 범위 검색이 아닌 동등 검색 조건으 로 변경하면 IDX EMP_01 인덱스를 효율적으로 활용할 수 있다.
4 IDX_EMP_01 인덱스는 테이블 내의 대량 데이터를 탐색할 때 매우 유용하게 활용될 수 있는 인덱스 형식이다.
정답은 2번과 3번입니다.
2번 설명이 맞습니다. 인덱스의 첫 번째 컬럼인 DEPTNO가 검색 조건으로 사용되었으므로 IDX_EMP_01 인덱스를 이용하여 DEPTNO=47 조건을 효율적으로 탐색할 수 있습니다.
3번 설명도 맞습니다. REGIST_DATE 컬럼에 대한 조건을 범위 검색이 아닌 동등 검색 조건으로 변경하면 IDX_EMP_01 인덱스를 효율적으로 활용할 수 있습니다. 하지만 이 경우 검색 범위가 너무 적어져 인덱스를 사용하지 않는 것이 더 효율적일 수 있습니다.
4번 설명은 잘못되었습니다. IDX_EMP_01 인덱스는 REGIST_DATE와 DEPTNO 순으로 생성되었으므로, REGIST_DATE가 더 나중에 나온 검색 조건이라면 인덱스를 사용할 수 없습니다. 대량 데이터를 탐색할 때는 인덱스 범위 스캔 대신 풀 스캔을 고려해야 합니다.



728x90
'<자격증> > [SQLD]' 카테고리의 다른 글
| SQLD 자격검증실전문제 146번 문제 (0) | 2023.03.19 |
|---|---|
| SQLD 자격검증실전문제 143번 문제 (0) | 2023.03.19 |
| SQLD 자격검증실전문제 130번 문제 (0) | 2023.03.19 |
| SQLD 자격검증실전문제 131번 문제 (0) | 2023.03.19 |
| SQLD 자격검증실전문제 129번 문제 (0) | 2023.03.19 |