Postgres Professional: метод доступа iHeap сам индексирует все совместимые столбцы
Postgres Professional рассказал о своём методе доступа iHeap. Он ускоряет выборку из больших таблиц PostgreSQL, а индексы для всех совместимых столбцов создаёт сам.
BRIN-индексирование лежит в основе iHeap: диапазоны значений для блоков страниц хранит индекс. Метод при сканировании пропускает блоки без подходящих строк, поэтому данных база читает меньше, а запрос идёт быстрее.
Лучше всего метод работает, когда значения близки к порядку хранения, — разработчик приводит в пример логи с растущими временными метками. Запрос с тремя условиями «больше» на миллионе строк отработал в тесте примерно в 65 раз быстрее, чем обычный heap без индексов.
Сами индексы компактны: в отдельном тесте индекс на пять столбцов занял всего 8 КБ. Компромиссы тоже есть: вставка идёт дольше, а на точечном поиске B-tree может оказаться быстрее.
Устройство iHeap, сравнение результатов тестов и порядок подключения разработчик разобрал в статье на «Хабре».
Подготовлено с помощью ИИ · Источник: канал разработчика · Редакция Soframe