> Какие типы индексов кроме B-tree существуют и используются (JavaScript)
Уровень: senior · Роль: frontend · Язык: JavaScript · Категория: Технические вопросы
Компании: Mosline
Стек: JavaScript, Node.js, Java
> Пример ответа
Помимо B-tree в современных СУБД и поисковых системах активно используются:
-
Hash-индексы - идеальны для точного поиска по равенству (
WHERE id = 5), но не поддерживают диапазонные запросы. В PostgreSQL естьhash, в MySQL -MEMORYтаблицы с HASH. -
GiST (Generalized Search Tree) - обобщённое дерево для нестандартных типов данных: геометрические объекты, полнотекстовый поиск, массивы. Используется в PostgreSQL для
tsvectorиcube. -
GIN (Generalized Inverted Index) - обратный индекс для композитных значений: массивы, JSONB, полнотекстовый поиск. Отлично подходит для поиска элементов внутри JSON-документов.
-
Bitmap-индексы - эффективны для столбцов с небольшим количеством уникальных значений (пол, статус). Применяются в Oracle, но редко в open-source СУБД.
-
R-tree - пространственный индекс для 2D/3D данных (координаты, геометрия). Используется в PostGIS, MongoDB (2dsphere).
-
Full-text index - специализированный обратный индекс для текстового поиска. В MySQL -
FULLTEXT, в Elasticsearch - инвертированный индекс на базе Lucene. -
LSM-tree (Log-Structured Merge-Tree) — основа NoSQL-решений (Cassandra, LevelDB, RocksDB). Оптимизирован для высоких нагрузок на запись, данные сначала пишутся в память, затем сливаются на диск.
В контексте Node.js и JavaScript чаще всего сталкиваешься с B-tree (по умолчанию в SQLite, PostgreSQL, MongoDB), но при работе с JSONB в PostgreSQL или с Elasticsearch (через @elastic/elasticsearch) важно понимать GIN и инвертированные индексы.
> Похожие задачи по JavaScript
В чем разница реляционных и нереляционных баз данных
Что такое колоночные базы данных и почему они лучше для аналитики
Что такое GiST индекс и как он устроен
Какие паттерны проектирования вы знаете и использовали в работе
> Похожие задачи по frontend
В чем разница реляционных и нереляционных баз данных
Что такое колоночные базы данных и почему они лучше для аналитики
Что такое GiST индекс и как он устроен
Какие паттерны проектирования вы знаете и использовали в работе
> ГОТОВЫ К СЛЕДУЮЩЕМУ СОБЕСЕДОВАНИЮ?
Запустите тренировочную сессию с ИИ и получите детальную обратную связь, чтобы увереннее проходить реальные интервью