인덱스는 한마디로 빠른 검색을 위해 사용한다.
인덱스는 SQL 명령문의 처리 속도를 향상시키기 위해서 컬럼에 생성하는 오라클 객체이다.
기본키나 유일키와 같은 제약 조건을 지정하면 따로 생성하지 않더라도 자동으로 인덱스를 생성한다.
기본 키나 유일 키는 데이터의 무결성을 체크하기 위해서 자주 데이터를 검색 하기 때문이다.
특징
- 검색 속도가 빨라짐
- 시스템 부하를 줄여서 시스템 전체 성능을 향상시킴
- 인덱스의 내부 구조는 B-트리 형식으로 구성
- 인덱스를 테이블과 같이 생성해야 하므로 시간이 더 걸림
- 인덱스를 위한 추가적인 공간이 필요
- 데이터의 변경 작업(INSERT/UPDATE/DELETE)이 자주 일어날 경우에는 오히려 성능이 저하됨.
인덱스 종류
크게 단일 단계 인덱스, 다단계 인덱스로 나누며 관계형 DB에서는 B-tree인덱스를 사용한다.
B-tree 인덱스
- 관계형 데이터베이스에서 사용되는 가장 일반적인 인덱스이다.
- 탐색 트리에서 트리를 항상 균형 잡힌 형태로 유지해야 한다.