Ответ
B-Tree (Balanced Tree) — сбалансированное дерево, поддерживающее сортировку данных. Основные отличия от других индексов:
- Сортировка — B-Tree хранит данные в отсортированном виде, что ускоряет поиск по диапазону (
BETWEEN,>). - Балансировка — автоматически поддерживает высоту дерева, гарантируя O(log n) для операций.
- Поддержка операторов — эффективен для
=,>,<,LIKE 'prefix%'.
Примеры других индексов:
- Hash — только точные совпадения (
=), не поддерживает сортировку. - Bitmap — для низкокардинальных данных (например,
gender). - GIN/GiST — для сложных типов (JSON, массивы).
// Пример: B-Tree в PostgreSQL
CREATE INDEX idx_name ON users USING BTREE (name);