데이터베이스/DB 이론

[데이터베이스] 4. 인덱스

상똥 2023. 2. 17. 18:14

[1. 인덱스의 기능]

- 검색 연산을 빠르게 수행하기 위해 데이터베이스 레코드의 정보를 구성하는 데이터 구조

- 인덱스를 이용하면 전체 데이터를 검색하지 않고 원하는 정보를 빠르게 검색할 수 있으며, 레코드

수가 증가하더라도 검색 속도에 큰 변화가 없음

- 인덱스는 인덱스를 생상한 칼럼 값으로 정렬되어 있어 테이블 내에 실제 값들이 저장된 위치를 갖고 있음

- 접근 경로를 단축함으로써 데이터의 탐색 속도 향상

 

[2. B-tree]

1. 인덱스는 보통 B-트리라는 자료구조로 이루어져 있음

- 루트 노드

- 브랜치 노드

- 리프 노드

 

- 트리 탐색은 맨 위 루트 노드부터 시작되어 브랜치 노드를 거쳐 리프 노드로 내려옴

- '57보다 같거나 클때까지<='를 기반으로 83 이후 아래 노드로 내려옴

- 46, 53, 57 등 정렬된 값을 기반으로 탐색

- 리프 노드에 도달하여 57이 가리키는 데이터 포인터를 통해 결괏값 반환

 

[3. 인덱스 최적화 기법]

1. 인덱스를 사용하는 것 자체로 시간이 소요되므로 모든 필드에 인덱스를 설정하는 것은 비효율적

2. 서비스별 특징에 따라 최적화 기법이 달라지므로, 테스팅을 통해 소요시간을 최소화하는 것이 중요