2023-04-18-ORACLE-index
인덱스(Index)
- SQL 명령문의 처리 속도를 향상시키기 위해서 컬럼에 대해서 생성하는 오라클 객체이다.
- 데이터를 빠르게 검색하기 위한 오브젝트이다.
- 인덱스는 테이블에 종속되어 있으며 하나의 테이블에 다수의 인덱스를 생성할 수 있다.
인덱스의 장점
- 검색속도가 빨라지고 시스템에 걸리는 부하를 줄여서 시스템 젂체 성능을 향상시킬 수 있다
인덱스의 단점
- 인덱스를 위한 추가 저장 공간이 필요하고, 인덱스를 생성하는데 시간이 걸린다.
- 따라서 데이터의 변경 작업(INSERT/UPDATE/DELETE)이 자주 일어날 경우에는 오히려 성능이 저하된다
인덱스 작성 방법
1
2
3
4
5
CREATE [UNIQUE] INDEX 인덱스명
ON 테이블명 (
컬럼명
,컬럼명 | 함수명, 함수계산식
);
오라클 데이터베이스의 인덱스 종류
일반 인덱스
- B-TREE 구조에 정렬된 열 값과 ROWID를 저장하는 인덱스
비트맵 인덱스
- 비트맵을 사용하여 열 값을 저장하는 인덱스
함수 기반 인덱스
- 열의 일부에 함수나 표현식을 사용한 인덱스
도메인 인덱스
- 애플리케이션 도메인에 따라 사용자가 생성할 수 있는 인덱스
일반 인덱스는 다음과 같이 사용 가능하다.
인덱스 | 설명 |
---|---|
IOT | 인덱스 구조 테이블(index-organized table) |
리버스 키 인덱스 | 열 값이 반전(reverse)되어 저장된 인덱스 |
내림차순 인덱스 | 열의 일부가 역순으로 정렬된 인덱스 |
클러스터 인덱스 | 인덱스 클러스터의 검색을 위해 사용되는 인덱스 |
인덱스는 열의 개수에 따라 아래와 같이 구분된다.
인덱스 | 설명 |
---|---|
단일(single) 인덱스 | 1개의 열로 구성된 인덱스 |
복합(composite) 인덱스 | 2개 이상의 열로 구성된 인덱스 |
값의 고유성에 따라 아래와 같이 구분할 수도 있다.
인덱스 | 설명 |
---|---|
UNIQUE 인덱스 | 고유한 값으로 구성된 인덱스 |
NOUNIQUE 인덱스 | 고유하지 않을 수 잇는 값으로 구성된 인덱스 |
- 출처 : 불친절한 SQL 프로그래밍, 메타버스 강사님 강의
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.