테이블내 데이터를 찾을수있게 일부 데이터를 모아서 구성한 데이터 구조
인덱스를 이용하면 테이블내 데이터 조회성능 향상 시킬수있다.
통계정보 생성 명령어
올바른 성능 테스트를 위해서는 통계정보를 반드시 생성해주어야 한다.
EXEC DBMS_STATS.GATHER_TABLE_STATS('테이블소유계정','테이블명');
단일인덱스 : 인덱스에 하나의 컬럼만 사용
복합인덱스 : 인덱스에 두 개 이상의 컬럼을 사용
유니크 인덱스 : 인덱스 구성 컬럼들 값에 중복을 호용하지않는다
비 유니크 인덱스(Non-unique index):인덱스 구성 컬럼들 값에 중복을 허용한다.
물리적구조에 따라 B*트리인덱스, 비트맵인덱스로 분류
비트맵인덱스는 값의 종류가 많지 않은 컬럼에 사용
대용량 테이블에는 파티션을 구성하는것이좋다.
- 글로벌 인덱스
- 로컬 인덱스
루트 블록 : 최상위에 단하나만 존재, 하위 브랜치블록의 인덱스 키값과 주소를 가지고있음
브랜치 블록 : 루트와 리프 중간에 위치, 여러층이 있을수있음, 하위브랜치의 인덱스키값과 주소 또는 하위 리프의 키값과 주소를 가지고 있다.
리프 블록 : 최하위에만 존재, 인덱스키값과 데이터의 ROWID를 가지고있다. 리프블록은 인덱스 키값 순으로 정렬되어있다.
이미지 출처
https://hoon93.tistory.com/52
https://jungmina.com/717