BRIN-index
Block Range INdex: een minimaal indextype in PostgreSQL voor grote, fysiek gesorteerde tabellen. Bewaart min/max per N pagina's. Sinds 9.5 (2016). Ordes van grootte kleiner dan een B-tree, maar de data moet sequentieel staan.
Perfect voor tijdreeks- en logtabellen waarin rijen op volgorde van tijd worden ingevoegd. Scans kunnen hele blokbereiken overslaan waarvan min/max niet past. Afweging: BRIN op ongesorteerde data is nutteloos, want elk bereik komt overeen met alles. Auto-summarize draait bij VACUUM. In de praktijk: een logtabel van 1 TB kan een BRIN-index van 1 MB hebben tegenover 30 GB voor een B-tree. Verschil met GiST: BRIN verandert niet hoe er gezocht wordt, het filtert alleen stukken weg.