Primary Index
탐색 키가 데이터 파일의 기본 키인 인덱스
기본 키의 값에 따라 정렬된 데이터 파일에 대해 정의
- 데이터 파일은 기본 키 값이 증가하는 순서로 정렬
- 각 데이터 블록의 첫 번째 레코드의 기본 키 값이 인덱스 엔트리에 포함
전체 파일에 대한 탐색이 아닌 각 블록당 하나의 엔트리를 가지므로 기본 인덱스는 희소 인덱스이다.
Secondary Index
탐색 키 값에 따라 정렬되지 않은 데이터 파일에 대해 정의
일반적으로 밀집 인덱스이므로, 같은 수의 레코드들을 접근할 때 보조 인덱스를 통하면 기본 인덱스를 통하는 경우보다 디스크 접근 회수가 증가한다.
유사점
- 두 인덱스 구조는 데이터베이스에서 분리된 객체
- 테이블과 그에 대응되는 인덱스는 서로 분리된 구조로 존재
- 모든 질의문들은 먼저 인덱스를 찾아보고, 그것이 가리키는 레코드들을 적재하여 결과로 사용
- 두 종류의 인덱스들 안에 존재하는 인덱스 블록들은 정렬된 엔트리들을 보관
(일반적으로 <인덱스 키, 행 주소> 형태)
차이점
(Primary Index)기본 인덱스
키와 비키 칼럼에서 생성될 수 있다.
오직 기본 키만 사용가능하지는 않다.
하나의 테이블에 오직 하나의 기본 인덱스만 가질 수 있다.
(Secondary Index) 보조 인덱스
- 데이터 블록에서 실제로 조직화된 행들에 전혀 영향을 미치지 않는다.
- 순서를 가지지 않는다.(정렬되지 않아도 상관없음)
- 인덱스 키만 정렬되어야 한다.
참고한 블로그 링크