#인덱스란?
1. 인덱스는 데이터베이스에서 데이터 검색을 빠르게 하는 핵심 구성 요소다. 특정 열(컬럼)을 기반으로 생성되며, 해당 열의 값을 효율적으로 정렬 및 저장하여 쿼리의 실행 속도를 향상시킨다. 이로써 데이터베이스 성능 최적화와 빠른 데이터 검색이 가능해진다.
2. 인덱스는 일반적으로 B-트리(B-Tree)와 같은 트리 구조로 구성된다. B-트리 인덱스는 다음과 같은 핵심 구성 요소로 이루어져 있다:
루트 노드 (Root Node): 인덱스의 시작점을 나타내며 다른 노드로의 경로를 제공한다.
브랜치 노드 (Branch Nodes): 루트 노드 다음에 있는 브랜치 노드들은 데이터를 검색하기 위한 경로를 결정한다. 이들은 키 값을 기반으로 하위 노드로 이어지는 분기점 역할을 한다.
리프 노드 (Leaf Nodes): 가장 하위 레벨에 있는 리프 노드는 실제 데이터 레코드를 가지고 있습니다. 이 레코드들은 인덱스의 키 값을 기반으로 정렬되어 있으며, 쿼리에서 필요한 데이터를 검색하는 데 사용된다.
키 (Keys):인덱스의 핵심 요소로, 검색 및 정렬을 위해 데이터 열(컬럼)의 값을 포함한다.
포인터 (Pointers):리프 노드에 위치하며, 각 키는 해당 데이터 레코드를 가리키는 포인터를 가지고 있다. 이 포인터를 사용하여 실제 데이터에 빠르게 액세스할 수 있다.
B-트리 인덱스는 데이터베이스에서 주로 사용되지만, 다른 인덱스 구조도 있으며 데이터베이스 시스템에 따라 다양한 최적화가 적용될 수 있다.
'TIL(Today I Learned)' 카테고리의 다른 글
[20230823 TIL] 운영체제 (0) | 2023.08.23 |
---|---|
[20230816 TIL] Multi-Threading 동시성, 동기화 (0) | 2023.08.16 |
[20230811 TIL] 해시 인덱스와 B-Tree 인덱스 차이 (0) | 2023.08.11 |
[20230729 TIL] 컴파일 에러, 빌드 에러, 런타임 에러 (0) | 2023.07.29 |
[20230719 TIL] URI란 (0) | 2023.07.19 |