반응형

# 오라클 함수기반 인덱스 (Function Based Indexes)

  • 오라클레는 기본 인덱스 외에도 함수형 인덱스를 생성할 수 있다.
  • 테이블의 특정 컬럼에 인덱스가 걸려있지만, 변형해서 사용하는 경우 인덱스가 작동하지 않아 해당 테이블을 풀 스캔(FULL SCAN) 하게 된다.
TEMP_INFO 테이블에 ACCOUNT_NO 에 인덱스가 걸려있다고 가정할때...

REPLACE(ACCOUNT_NO, '-',  '') 처럼 변형하여 사용하는 경우 -> 인덱스가 작동 하지 않게된다.
  • 소량의 데이터를 처리할 때는 상관 없겠지만, 대량의 데이터를 처리하는 경우는 조회 속도가 느려지는 등의 문제가 발생하게 된다.
  • 이와 같은 문제는 함수기반 인덱스를 사용하게되면 해결할 수 있다.

## 함수기반 인덱스 생성

인덱스 생성 기본 형식

CREATE INDEX 스키마명.생성할인덱스명 ON 스키마명.인덱스를생성할테이블명 (생성할 인덱스)

함수기반 인덱스 생성

  • TEMP_INFO 테이블에 ACCOUNT_NO 존재한다고 가정할때
CREATE INDEX TEMP_INFO_ACCOUNT_NO_IDX01 ON TEMP_INFO (REPLACE("ACCOUNT_NO", '-',  ''));
반응형

'메모장' 카테고리의 다른 글

오라클 PL/SQL LOOP문  (0) 2022.09.19
오라클 PL/SQL IF문  (0) 2022.09.17
오라클 오류 ORA-06512, ORA-04088  (0) 2022.09.15
오라클 프로시저 실행 (out 존재하는 경우)  (0) 2022.08.25
오라클 함수 내부에서 DML 사용  (0) 2022.08.23

+ Recent posts