인덱스 효율
2024. 3. 2. 23:21ㆍDBMS/ORACLE Admin
반응형
[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':
현재의 인덱스는 REGIST_DATE와 DEPTNO 순으로 정의되어 있다. 하지만 쿼리에서는 DEPTNO를 먼저 사용하고, 그 다음에 REGIST_DATE를 사용하고 있다. 이 경우에는 인덱스를 사용하여 DEPTNO로 데이터를 빠르게 필터링할 수 있지만, 그 후에 REGIST_DATE로 데이터를 필터링하는 과정에서 인덱스의 효율성이 떨어질 수 있다.
따라서 DEPTNO와 REGIST_DATE를 함께 인덱싱하고, DEPTNO를 먼저 정의하고 그 다음에 REGIST_DATE를 정의하는 인덱스를 사용하는 것이 더욱 효율적일 것이다. 이렇게 하면 DEPTNO로 데이터를 필터링한 후에 REGIST_DATE의 값을 기준으로 더욱 효율적으로 검색할 수 있다.
범위 검색은 특정 값의 범위 내에 있는 데이터를 찾는 검색 방법이다. 보통 숫자, 날짜, 문자열 등의 데이터 타입에서 사용된다. 인덱스가 있어도 쿼리의 성능에 영향을 줄 수 있기 때문에 범위 검색이 많은 경우 인덱스를 사용하는 것보다 성능이 낮아질 수 있다. 가능한 경우에는 범위 검색을 회피하고 동등 조건 검색을 사용하는 것이 성능 향상에 도움이 될 수 있다.
동등 조건 검색은 특정 값과 정확히 일치하는 데이터를 찾는 검색 방법이다.동등 조건 검색은 인덱스를 사용하여 데이터를 빠르게 찾을 수 있는 경우가 많다.
반응형
'DBMS > ORACLE Admin' 카테고리의 다른 글
Oracle DB SYSTEM (0) | 2024.03.10 |
---|---|
HASH JOIN (0) | 2024.03.02 |
archive log 저장 설정 (1) | 2024.02.27 |
select destination, binding, status from v$archive_dest; (1) | 2024.02.27 |
ALTER SYSTEM SWITCH LOGFILE; (0) | 2024.02.25 |