반응형
# 오라클 함수기반 인덱스 (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 |