인덱스 효율

2024. 3. 2. 23:21DBMS/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