- B 트리(B-Tree)라 불리는 것의 실체는 대부분 B+Tree 로 이루어진 것
- MySQL, PostgreSQL, Oracle, SQLite 등 내부적으로 인덱스를 B+TREE로 구현
- 여기서 B는 Balance
- 공식문서에서는 B-Tree 로 통칭하는 경우 있음
- MongoDB
- 차이점
- B+Tree는 리프노드에 실제 데이터 또는 데이터의 포인터를 저장
- B-Tree 는 리프노드가 아닌 곳에도 데이터 저장 가능
| B-Tree | B+Tree | |
|---|---|---|
| 데이터 저장 위치 | 내부 노드에도 가능 | 오직 리프 노드 |
| 탐색 속도 | 키를 따라 내려가면서 중간에도 데이터 탐색 됨 → 빠를 수도 있다 | 항상 리프까지 내려가야 탐색 됨 → 일정한 속도 |
| 범위 쿼리 | 복잡하고 느릴 수 있다 | 리프 노드끼리 포인터로 연결되어 있어서 범위 탐색 빠름 |