Database
[MySQL] B-Tree 인덱스 - 1
대표적인 인덱스인 B-Tree 인덱스를 MySQL의 관점에서 알아봅시다. 구조 Tree는 루트 노드와 리프 노드 그 사이에 브랜치 노드로 이루어져 있습니다. 그중 리프 노드에 데이터 레코드의 주솟값을 저장하는 것이 Tree 자료 구조를 사용한 인덱스입니다. B-Tree의 B는 Balanced의 약자입니다. 여기서 Balance(균형)은 트리의 높이가 균형을 이룬다는 뜻입니다. 균형을 이룬다는 뜻은 루트 노드에서 리프 노드까지의 거리를 일정하게 유지하는 것을 의미합니다. 리프 노드까지의 거리를 균일하게 유지하는 이유는 루트 노드에서 리프 노드까지의 탐색 시간을 줄이기 위해서입니다. 트리가 한쪽으로 편향되어 있다면 브랜치 노드가 많아져 리프노드까지의 탐색 시간이 증가합니다. 이러한 균형 잡힌 트리를 유지하기..