Назад к вопросам
Senior
5
Что такое индекс и какие типы индексов есть в PostgreSQL?
Компании, где спрашивали
Cloud.ru
Ответ от нейросети
sobes.tech AI
Индекс в PostgreSQL — это структура данных, которая ускоряет поиск строк в таблице по определённым столбцам, уменьшая количество операций чтения.
Основные типы индексов в PostgreSQL:
- B-tree (по умолчанию): Подходит для большинства операций сравнения (=, <, <=, >, >=, BETWEEN).
- Hash: Оптимизирован для операций равенства (=), но менее универсален.
- GIN (Generalized Inverted Index): Используется для полнотекстового поиска, массивов, JSONB, где нужно искать элементы внутри коллекций.
- GiST (Generalized Search Tree): Поддерживает сложные структуры, например, геометрические данные, полнотекстовый поиск.
- SP-GiST: Специализированный индекс для определённых типов данных, например, для префиксных деревьев.
- BRIN (Block Range Index): Легковесный индекс для очень больших таблиц с упорядоченными данными.
Пример создания B-tree индекса:
CREATE INDEX idx_users_email ON users(email);