티스토리 뷰

728x90

인덱스 목적: 찾고자 하는 레코드의 검색 속도 향상

- Digital Index: 모체 데이터(전체 데이터베이스)를 기반으로 search key(탐색 키) 값을 찾기 쉽도록 배열한 data entry들의 집합

- Data entry: 인덱스 파일에 저장된 레코드(탐색키 필드 + 주소 필드)

- 탐색 키 값에 따라 정렬

- 범용적인 인덱스 구조: balanced 트리

- 모체 데이터가 추가/삭제/수정되면 각 인덱스에 반영되어야 함

 

 

복합 인덱스: 두개 이상의 속성으로 인덱스가 만들어지는 것

ex) 전공, 학년으로 인덱싱: 전공으로 1 정렬, 학년으로 2 정렬

 

 

Indexdata entry에 저장할 방식

k *: search key 값이 k인 실제 data record

<k, rid>: ridk 값에 해당하는 data recordid,<k, address>

<k, rid-list>: rid-listk에 해당하는 data record들의 id list, <k, address list>

②③은 일반적인 경우, ①은 특수한 경우

 

 

 

인덱싱을 했을 때 적절한 속성

값들이 다양하고, 검색 조건(SQL where문)에 많이 포함되어야 함

값이 다양한 경우: 키, 속성, 이름 등

값이 다양하지 않은 경우: 성별, 학년 등

(파일 스캔으로 데이터를 검색하는 시간보다 처리 시간이 적어야 함)

 

 

인덱스의 평가 기준

1) 접근시간: 원하는 데이터를 찾는데 걸리는 시간

2) 유지비용: 데이터 삽입/삭제 연산으로 인한 인덱스 갱신비용

3) 공간비용: 인덱스 구축에 의해 필요한 부가적인 공간비용

 

 

 

인덱스 파일의 크기는 데이터 파일의 크기 보다 훨씬 작다.

블록단위로 인덱스 파일을 읽어 올 때, 하나의 블록에 많은 인덱스의 내용을 포함하므로

몇 번의 입출력으로 원하는 데이터를 빠르게 검색할 수 있음

(= 대용량의 데이터 파일을 검색하는 것 보다 인덱스를 이용하여 검색하는 것이 훨씬 빠름)

728x90
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함