BRIN
Тип индекса PostgreSQL, хранящий минимум и максимум на группу страниц, а не запись на строку. Поэтому он до абсурда мал: килобайты для таблицы в сотни гигабайт.
При запросе планировщик пропускает все диапазоны блоков, где искомого значения быть не может, и читает только остальные. Это блестяще работает при одном условии: физический порядок должен коррелировать со значением. Идеал — таблица логов, куда строки дописываются по времени: блоки сами оказываются упорядоченными. Если значения разбросаны по таблице, в любом диапазоне может быть что угодно, и индекс бесполезен. Так что выбор не «BRIN или B-tree», а «BRIN, когда данные уже лежат в нужном порядке». Появился в версии 9.5 (2016), распространён во временных рядах.