Sobes.tech
Back to questions
Senior
5

Типы индексов в PostgreSQL — какие использовал помимо B-tree?

Companies where asked
Cloud.ru

Answer from AI

sobes.tech AI

В PostgreSQL помимо стандартного B-tree индекса, который используется по умолчанию, есть несколько других типов индексов, которые применяются в зависимости от задачи:

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

Пример создания GIN индекса для JSONB поля:

CREATE INDEX idx_data_gin ON my_table USING GIN (data jsonb_path_ops);

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