Sobes.tech
Back to questions
Junior — Middle
94

Какие типы индексов можно создавать в базе данных PostgreSQL?

Answer from AI

sobes.tech AI

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

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

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

CREATE INDEX idx_users_name ON users USING btree (name);