GIN — обобщённый инвертированный индекс PostgreSQL: он связывает отдельные элементы составного значения со строками, где они встречаются. Подходит для массивов, JSONB и полнотекстового поиска.
Что такое GIN-индекс?
GIN — обобщённый инвертированный индекс PostgreSQL: он связывает отдельные элементы составного значения со строками, где они встречаются. Подходит для массивов, JSONB и полнотекстового поиска.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
GIN — обобщённый инвертированный индекс PostgreSQL: он связывает отдельные элементы составного значения со строками, где они встречаются. Подходит для массивов, JSONB и полнотекстового поиска.
Вместо одного ключа на запись GIN извлекает набор элементов и хранит списки их расположений. Например, поиск документа по слову или массива по содержащемуся элементу может опираться на такой индекс. Поддерживаемые операции определяет operator class; произвольный фильтр не обязательно ускорится. Цена — дополнительные объём и работа при изменении данных. Выбор GIN проверяют по конкретным операторам, распределению значений и плану запроса, а не только по типу столбца.
Источник: www.postgresql.org.