Встречается на собеседованиях • сегодня

Как устроен под капотом индекс в БД

Индекс в БД работает аналогично указателю в книге — он ускоряет поиск данных, избегая полного сканирования таблицы. Под капотом чаще всего используется структура данных B-дерево (или его варианты, например B+дерево), которая обеспечивает быстрый поиск, вставку и удаление за O(log n).

Как это работает:

  1. Индекс хранит ключи (значения колонки) и ссылки на соответствующие строки.
  2. При запросе с условием WHERE по индексируемому полю СУБД использует индекс для быстрого нахождения нужных строк.

Пример с SQL:

sql
-- Создание индекса
CREATE INDEX idx_name ON users(name);

-- Запрос, использующий индекс
SELECT * FROM users WHERE name = 'Alice';

Нюансы:

  • Индексы ускоряют чтение, но замедляют запись (т.к. нужно обновлять индекс).
  • Составные индексы (по нескольким полям) работают только для префиксов полей в порядке их объявления.
  • Хэш-индексы быстрее для точечных запросов (=), но не поддерживают диапазоны (BETWEEN, >).
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы