Встречается на 31% собеседований по Go

Какие знаешь индексы в БД

В БД индексы ускоряют поиск данных. Основные типы:

  1. B-tree - стандартный индекс, работает с операторами =, >, <, BETWEEN. Поддерживает сортировку.
  2. Hash - только точные совпадения (=), быстрее B-tree для равенств, но не поддерживает диапазоны.
  3. GIN (Generalized Inverted Index) - для составных значений (массивы, JSON).
  4. GiST (Generalized Search Tree) - для геоданных, полнотекстового поиска.
  5. BRIN (Block Range INdex) - для больших таблиц с линейной сортировкой данных.

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

sql
-- B-tree индекс
CREATE INDEX idx_users_email ON users(email);

-- GIN индекс для массива тегов
CREATE INDEX idx_posts_tags ON posts USING GIN(tags);

Выбор индекса зависит от типа данных и запросов. Неправильные индексы могут замедлить вставку/обновление.

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