DataBase
인덱스(index)
업단업업
2015. 7. 17. 11:04
1. 인덱스의 개념
- 인덱스는 데이터 레코드(튜플)에 빠르게 접근하기 위해 <키 값, 포인터> 쌍으로 구성되는 데이터 구조이다.
학번 |
이름 |
학년 |
학과 |
00707 |
강길동 |
2 |
전자공학과 |
00704 |
장길동 |
5 |
사회학과 |
위와 같은 학생 테이블에 대한 인덱스를 만든다면
학번(키 값) |
주소(포인터) |
00707 |
100 |
00704 |
200 |
- 색인이 없으면 특정한 값을 찾기 위해 모든 데이터 페이지를 다 뒤지는 table scan이 발생한다.
(메모리에 데이터가 저장될 때 순서대로 저장되지 않으므로, 해당 인덱스에 맞게 정렬되어 검색되는 데이터를 가져올 계획을 짜놓고, 인덱스를 해주면 계획했던 대로 정보를 찾아오기 때문에 속도가 빠를 수 있다.)
- 기본키를 위한 인덱스를 기본 인덱스라 하고, 기본 인덱스가 아닌 인덱스를 보조 인덱스라고 한다. 대부분의 관계형 데이터베이스 관리 시스템에서는 모든 기본키에 대해 자동적으로 기본인덱스를 생성한다.
- 레코드의 물리적 순서가 인덱스의 엔트리 순서와 일치하게 유지되도록 구성되는 인덱스를 클러스터 인덱스라 한다.