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);
Выбор типа индекса зависит от характера данных и запросов.