Sobes.tech
Назад к вопросам
Senior
4

Для чего используется индекс GIN в PostgreSQL?

Компании, где спрашивали
РТК ИТ

Ответ от нейросети

sobes.tech AI

Индекс GIN (Generalized Inverted Index) в PostgreSQL используется для эффективного индексирования и быстрого поиска по сложным типам данных, таким как массивы, JSONB, tsvector (текст для полнотекстового поиска) и другие.

Основные применения GIN:

  • Поиск по элементам массива (например, найти строки, где массив содержит определённое значение).
  • Полнотекстовый поиск с использованием tsvector.
  • Индексация JSONB для быстрого поиска по ключам и значениям.

GIN индекс хранит для каждого уникального значения список ссылок на строки, где это значение встречается, что позволяет быстро выполнять операции поиска с операторами @>, ?, && и др.

Пример создания GIN индекса для JSONB поля:

CREATE INDEX idx_data_gin ON my_table USING GIN (data jsonb_path_ops);

Это значительно ускоряет запросы, фильтрующие по содержимому JSON.