Sobes.tech
Назад к вопросам
Senior
6

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

Компании, где спрашивали
Магнит Тех

Ответ от нейросети

sobes.tech AI

В PostgreSQL существует несколько типов индексов, каждый из которых подходит для разных задач:

  • B-tree — самый распространённый тип индекса, подходит для большинства операций сравнения (=, <, >, BETWEEN).
  • Hash — используется для быстрого поиска по равенству, но менее универсален и реже применяется.
  • GIN (Generalized Inverted Index) — эффективен для индексации массивов, JSONB, полнотекстового поиска.
  • GiST (Generalized Search Tree) — универсальный индекс для работы с геометрическими данными, полнотекстовым поиском и другими типами данных.
  • SP-GiST — специализированный GiST для нестандартных структур данных, например, для пространственных данных.
  • BRIN (Block Range Index) — компактный индекс для очень больших таблиц с упорядоченными данными.

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

CREATE INDEX idx_users_email ON users(email);

Выбор типа индекса зависит от характера данных и запросов.