GIN нужен для поиска по элементам составного значения: например, словам документа, элементам массива или содержимому jsonb. Поддерживаемые операции определяет операторный класс.
Для каких задач нужен индекс GIN?
GIN нужен для поиска по элементам составного значения: например, словам документа, элементам массива или содержимому jsonb. Поддерживаемые операции определяет операторный класс.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
GIN нужен для поиска по элементам составного значения: например, словам документа, элементам массива или содержимому jsonb. Поддерживаемые операции определяет операторный класс.
Индекс позволяет быстро найти строки, содержащие нужный компонент, но не заменяет B-tree для обычной сортировки по скалярному полю. Для jsonb разные operator classes поддерживают разные наборы операторов и имеют разный размер. Учитывайте стоимость записи и обслуживания: составной документ может давать много индексных элементов. Проверять пользу нужно на реальных фильтрах и селективности данных.
Источник: www.postgresql.org.