Back to questions
Senior
7
Какие индексы в PostgreSQL знаешь?
Companies where asked
Магнит Тех
Answer from AI
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);
Выбор типа индекса зависит от характера данных и запросов.