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

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

PostgreSQL поддерживает несколько типов индексов, каждый оптимизирован под конкретные сценарии:

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

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

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

-- GIN индекс для массива тегов
CREATE INDEX idx_products_tags ON products USING GIN(tags);
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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