Sobes.tech
Назад к вопросам
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);