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

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

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

  1. B-tree — стандартный индекс для большинства операций (сравнение, сортировка, диапазоны).

    sql
    CREATE INDEX idx_name ON users(name);
  2. Hash — быстрый поиск по точному совпадению (только =).

    sql
    CREATE INDEX idx_email_hash ON users USING HASH(email);
  1. GIN (Generalized Inverted Index) — для сложных типов данных (JSON, массивы, полнотекстовый поиск).

    sql
    CREATE INDEX idx_tags_gin ON posts USING GIN(tags);
  2. GiST (Generalized Search Tree) — для геоданных, полнотекстового поиска и других сложных структур.

    sql
    CREATE INDEX idx_location_gist ON shops USING GiST(location);
  3. SP-GiST (Space-Partitioned GiST) — для нерегулярных структур (IP-адреса, геоданные).

    sql
    CREATE INDEX idx_ip_spgist ON logs USING SPGiST(ip_address);
  4. BRIN (Block Range INdex) — для больших таблиц с естественной сортировкой (например, временные данные).

    sql
    CREATE INDEX idx_created_brin ON orders USING BRIN(created_at);

Выбор индекса зависит от типа данных и запросов. Например, B-tree подходит для большинства случаев, а GIN — для работы с массивами или JSON.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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