Back to questions
Senior
6
Что такое индекс и какие типы индексов есть в PostgreSQL?
Companies where asked
Cloud.ru
Answer from AI
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);