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);