인덱스(INDEX)
- 특정 자료의 검색효율을 높이기 위한 객체
- DB SERVER의 성능을 결정하는 요소가 검색 능력기며, SERVER의 부하를 줄여 전체 성능을 향상
- 단점
. 생성에 시간 및 공간이 소요
. 자료의 삽입,삭제,수정이 발생되면 인데스도 변경이 요구됨
. 인덱스를 유지관리하는데 많은 시간이 소요
- 종류
. Unique Index, Non Unique Index
. Single, Composite
. Normal, Bitmap, Function Based Normal...etc
사용형식)
CREATE[UNIQUE|BITMAP] INDEX 인덱스명
ON 테이블명(컬럼명[,컬럼명,...]) [ASC|DESC]
- 'UNIQUE|BITMAP' : 생성될 인덱스의 종류, 기본은 NON-UNIQUE, NORMAL INDEX 임
- '테이블명(컬럼명[,컬럼명,...])' : 인덱스가 적용될 테이블명과 인덱스 구성에 사용될 컬럼명(들) 기술
- 'ASC|DESC' : 인덱스 생성방식 기본은 ASC임
사용예)
SELECT MEM_ID,MEM_NAME,MEM_ADD1||' '||MEM_ADD2
FROM MEMBER
WHERE MEM_REGNO2='2458323'; --p001,(0.002)
-- 인덱스 생성
CREATE INDEX idx_mem_regno2
ON MEMBER(MEM_REGNO2);
-- 인덱스 삭제
DROP INDEX idx_mem_regno2;
-- 테이블 생성
CREATE TABLE TEMP
AS
SELECT * FROM CART,BUYPROD,MEMBER;
SELECT * FROM TEMP
--
SELECT MEM_ID,MEM_NAME,CART_NO
FROM TEMP
WHERE MEM_REGNO2='4382532'
AND CART_PROD='P202000003'--(0.39초)
CREATE INDEX idx_temp ON TEMP(mem_id,CART_PROD);--(0.278초)
-- DROP TABLE TEMP;
**인덱스 재구성
- 테이블의 저장위치가 변경된 경우(테이블 스페이스 변경)
- 자료의 삽입/삭제가 많이 발생된 경우
(사용형식)
ALTER INDEX 인덱스명 REBUILD
'DBMS' 카테고리의 다른 글
[DBMS/Oracle] IF문, 커서(CURSOR), 반복명령 (0) | 2023.03.18 |
---|---|
[DBMS/Oracle] PL/SQL(Procedual LANGUAGE SQL) (0) | 2023.03.18 |
[DBMS/Oracle] 동의어(SYNONYM) (0) | 2023.03.17 |
[DBMS/Oracle] 시퀀스(SEQUENCE) (0) | 2023.03.17 |
[DBMS/Oracle] VIEW 객체 (0) | 2023.03.17 |