Index
BRIN
Block Range Index: a tiny PostgreSQL index that stores summary statistics for ranges of heap pages.
A BRIN index records the min/max value (or another summary) for every block range — typically 128 contiguous heap pages — instead of one entry per row. The index is orders of magnitude smaller than a B-tree and cheap to build.
BRIN works well when the column's values correlate strongly with physical row order: time-series tables ordered by insertion time, or fact tables clustered by date. Lookups translate to a bitmap heap scan over the block ranges that might contain matches.
If the data is not naturally ordered (random UUIDs, frequently-updated rows), BRIN degrades quickly because every range covers the full value domain. For those workloads stick with a B-tree.