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

Что такое индекс в БД

Индекс в БД — это структура данных, ускоряющая поиск и сортировку записей в таблице. Он работает аналогично оглавлению в книге, позволяя СУБД быстро находить данные без полного сканирования таблицы.

Основные типы индексов:

  • Кластерный — определяет физический порядок данных (например, PRIMARY KEY).
  • Некластерный — отдельная структура, хранящая ключи и ссылки на записи.

Пример создания индекса в SQL:

sql
-- Кластерный (обычно создается автоматически для PRIMARY KEY)
CREATE CLUSTERED INDEX IX_Users_Id ON Users(Id);

-- Некластерный
CREATE INDEX IX_Users_Email ON Users(Email);

Плюсы:

  • Ускорение SELECT, JOIN, WHERE, ORDER BY.
  • Поддержка уникальности (UNIQUE INDEX).

Минусы:

  • Замедление INSERT/UPDATE/DELETE (индекс нужно перестраивать).
  • Дополнительное место на диске.

Оптимально индексировать часто используемые в запросах столбцы и избегать избыточности.

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