생각하는 감쟈
[Oracle] SQL 객체_04 : INDEX 본문
INDEX 객체
- 자료 검색의 효율성을 증대 시키기 휘한 객체
- DB SERVER의 성능은 검색의 효율성에 가장 민감하게 반응
- 인덱스는 자료 검색시 전체를 비교하지 않고 각 행을 대표하는 컬럼 값과
해당 컬럼의 나머지 데이터가 저정된 주소로 구성된 인덱스파일을 별도로
구성하여 검색시 인덱스를 검사하고 일치하는 값의 주소를 참조하여 나머지 자료를 추출함
- DBMS의 부하를 줄여서 DB SERVER의 전체 성능을 향상
- [단점]
. 별도의 공간 필요 (인덱스 파일)
. 인덱스 파일 관리에 시간과 비용이 소요
. 자료의 지속적인 변경(수정.삭제.삽입)이 발생되는 경우 비효율적
- INDEX의 종류
. UNIQUE / NON-UNIQUE
. SINGLE / COMPOSITE INDEX
. NORMAL / BITMAP / FUNCTION BASED NOMAL INDEX
사용형식)
CREATE [UNIQUE|BITMAP] INDEX 인덱스 명
ON 테이블명(컬럼명[,컬렴명,...]) [ASC|DESC]
.[ASC|DESC] : 오름차순 또는 내림차순으로 된 인덱스, 기본은 ASC
사용예)
SELECT *
FROM HHR.EMPLOYEES
WHERE PHONE_NUMBER = '515.124.4269'; --0.003 초
CREATE INDEX IDX_EMP_TEL
ON HR.EMPLOYEES(PHONE_NUMBER); -- 인덱스 만들고 다시 실행
SELECT *
FROM HHR.EMPLOYEES
WHERE PHONE_NUMBER = '515.124.4269'; --0.002초 소요
** 인덱스의 재구성
- 인덱스는 2진 트리구조로 구선되어 인덱스 구성항목의 삽입, 삭제, 갱신시 인덱스가 재 구성되어야 함
- 재구성의 실행을 강제시키는 명령어 rebuild
(사용형식)
ALTER INDEX 인덱스명 REBUILD
. 테이블과 인덱스 파일이 다른 테이블 스페이스로 이동 된 경우
. 자료의 변동(삽입/삭제/변경)이 많이 발생된 직 후
'Language > Oracle' 카테고리의 다른 글
[Oracle] SQL_User Defined Function (Function) (0) | 2024.04.08 |
---|---|
[Oracle] PL/SQL (0) | 2024.04.04 |
[Oracle] SQL 객체_03 : SYNONYM (0) | 2024.03.29 |
[Oracle] SQL 객체_02 : SEQUENCE (2) | 2024.03.29 |
[Oracle] SQL 객체_01 : VIEW (1) | 2024.03.29 |
Comments