인덱스
- DB 분야에 있어서 테이블에 대한 동작 속도를 높여주는 자료구조를 일컫는다.
인덱스의 장점
- 검색 속도가 빨라진다.
인덱스의 종류
1. B-TREE 인덱스(UNIQUE INDEX, NON-UNIQUE INDEX, COMPOSITE INDEX)
- 실시간으로 데이터 입력과 수정이 일어나는 환경에서 많이 사용
2. BITMAP INDEX
- 데이터 값의 종류가 적고 동일한 데이터가 많을 때 사용
자동생성
- 인덱스는 테이블 정의시 PK와 UNIQUE KEY 제약 조건을 정의할때 자동으로 생성된다.
수동생성
- 사용자는 인덱스를 수동으로 생성할 수 있다.
1. BITMAP INDEX
- 데이터 값이 적고 동일한 데이터가 많을 경우에 사용된다.
- BIT연산 수행가능
- 수정/변경/추가 가 적은 데이터에 적합
=> 컬럼이 추가될 때마다 BITMAP INDEX를 전부 새로 만든다
- 어떤 데이터가 어디에 있는지 BIT로 지도화 한다
ex) 남 여 남 남 여 => 1 0 1 1 0 으로 1을 남자 0을 여자로 표기
CREATE BITMPA INDEX [인덱스 이름]
ON [테이블명](지정할 컬럼);
2. B-TREE - UNIQUE INDEX
- 인덱스 안에 있는 컬럼KEY 값에 중복되는 데이터가 없다
- UNIQUE 제약조건 생성시 UNIQUE INDEX도 자동으로 생성된다.
CREATE UNIQUE INDEX [인덱스 이름]
ON [테이블명](지정할 컬럼)
3 B-TREE - NON UNIQUE INDEX
- 중복되는 데이터가 들어가는 경우, KEY값에 중복된 값이 들어 갈 수 있다.
CREATE INDEX [인덱스 이름]
ON [테이블명](지정할 컬럼)
4. B-TREE - COMPOSITE INDEX
- 컬럼을 조합하여 생성하는 인덱스(최대 16개까지 결합가능)
CREATE INDEX [인덱스 이름]
ON [테이블명]([컬럼명],[컬럼명]...);
인덱스 검색
SELECT index_name,table_name,uniqueness
FROM USER_INDEXES;
인덱스 삭제
DROP INDEX [인덱스 이름];
'Old > Oracle' 카테고리의 다른 글
11_JOIN (0) | 2018.10.31 |
---|---|
10_SubQuery (0) | 2018.10.31 |
09_CONSTRAINT (0) | 2018.10.30 |
08_COMMIT (0) | 2018.10.26 |
07_SELECT(AS, AND, OR, BTWEEN AND, IN, ISNULL, LIKE, ORDER BY, GROP BY, HAVING) (0) | 2018.10.23 |