Sobes.tech
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);