AdvancedPerformance & Indexes
BRIN index for time-series tables
The query
SQL
-- BRIN (Block Range INdex) for physically-ordered large tables
CREATE INDEX idx_orders_date_brin
ON orders USING brin(order_date) WITH (pages_per_range = 128);
-- BRIN is tiny but very fast for time-ordered data
-- Compare size:
SELECT
pg_size_pretty(pg_relation_size('orders')) AS table_size,
pg_size_pretty(pg_relation_size('idx_orders_date_brin')) AS brin_size;Note
“BRIN indexes are tiny (just stores min/max per block range). Effective when data is physically ordered (time-series).