21
Список зон со сводной информацией
зона охватывает группу последовательно расположенных страниц
сводная информация: минимум, максимум и т. п.
требуется корреляция с физическим расположением строк
Не хранит ссылки на версии строк
только сканирование по битовой карте
Предназначен для очень больших таблиц
небольшой размер
настраиваемое соотношение размера и точности
Индекс BRIN
Используя классы операторов, можно выбирать сводную информацию,
хранимую в индексе для каждой зоны. Это может быть как просто
минимум и максимум, так и несколько диапазонов значений, а для
геометрических типов данных можно хранить охватывающий
прямоугольник (как в GiST).
В любом случае для эффективной работы BRIN необходима
корреляция между значениями столбца и физическим расположением
строк, чтобы в одну зону попадали значения со сходной сводной
информацией. Обновления данных нарушают корреляцию и могут
сказаться на эффективности индекса.
Поскольку BRIN не хранит ссылки на версии строк, он возвращает
перечень страниц зоны в виде неточной битовой карты. Обычное
индексное сканирование (и сканирование только индекса) невозможны.
Зато BRIN-индекс имеет очень небольшой размер, который, к тому же,
может настраиваться за счет указания размера зоны. Чем больше зона,
тем меньше индекс, но меньше и точность. Благодаря этому BRIN
идеально подходит для очень больших таблиц, характерных для
хранилищ данных.