🚀 Наш метод доступа iHeap ускоряет выборку из больших таблиц PostgreSQL и сам создает индексы для всех совместимых столбцов.
В основе iHeap — BRIN-индексирование. Индекс хранит диапазоны значений для блоков страниц. При сканировании iHeap пропускает блоки без подходящих строк. База читает меньше данных, запрос работает быстрее.
⚡ Лучше всего работает, когда значения близки к порядку хранения. Пример: логи с растущими временными метками. В тесте на миллионе строк запрос с тремя условиями «больше» сработал примерно в 65 раз быстрее, чем на обычном heap без индексов.
💾 Индексы при этом компактны: в отдельном тесте индекс iHeap для пяти столбцов занял всего 8 КБ. Есть и компромиссы: вставка занимает больше времени, а для точечного поиска B-tree может быть быстрее.
🔗 Читайте статью на Хабре: разбираем устройство iHeap, сравниваем результаты тестов и показываем, как его подключить.
🔔 Читайте нас в MAX
Post #1687
399

- ❤ 2
- 🔥 1