Primary Index vs Secondary Index

유재우·2022년 12월 3일
0

CS공부

목록 보기
12/26

Primary Index

탐색 키가 데이터 파일의 기본 키인 인덱스
기본 키의 값에 따라 정렬된 데이터 파일에 대해 정의
  • 데이터 파일은 기본 키 값이 증가하는 순서로 정렬
  • 각 데이터 블록의 첫 번째 레코드의 기본 키 값이 인덱스 엔트리에 포함
    전체 파일에 대한 탐색이 아닌 각 블록당 하나의 엔트리를 가지므로 기본 인덱스는 희소 인덱스이다.

Secondary Index

탐색 키 값에 따라 정렬되지 않은 데이터 파일에 대해 정의

일반적으로 밀집 인덱스이므로, 같은 수의 레코드들을 접근할 때 보조 인덱스를 통하면 기본 인덱스를 통하는 경우보다 디스크 접근 회수가 증가한다.

유사점

  • 두 인덱스 구조는 데이터베이스에서 분리된 객체
  • 테이블과 그에 대응되는 인덱스는 서로 분리된 구조로 존재
  • 모든 질의문들은 먼저 인덱스를 찾아보고, 그것이 가리키는 레코드들을 적재하여 결과로 사용
  • 두 종류의 인덱스들 안에 존재하는 인덱스 블록들은 정렬된 엔트리들을 보관
    (일반적으로 <인덱스 키, 행 주소> 형태)

차이점

(Primary Index)기본 인덱스

키와 비키 칼럼에서 생성될 수 있다.
오직 기본 키만 사용가능하지는 않다.
하나의 테이블에 오직 하나의 기본 인덱스만 가질 수 있다.

(Secondary Index) 보조 인덱스

  • 데이터 블록에서 실제로 조직화된 행들에 전혀 영향을 미치지 않는다.
  • 순서를 가지지 않는다.(정렬되지 않아도 상관없음)
  • 인덱스 키만 정렬되어야 한다.

참고한 블로그 링크

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글