BRIN Index
PostgreSQL 🔴 SeniorDéfinition
Block Range Index, index extrêmement compact qui stocke les min/max par bloc de pages. Idéal pour les colonnes naturellement ordonnées comme les timestamps.
Analogie
Au lieu d'indexer chaque page d'un livre, noter juste 'pages 1-50 : chapitres A-C'.
Exemple de code
CREATE INDEX idx_logs_time
ON logs USING brin (created_at)
WITH (pages_per_range = 128);
Cas d'usage
Indexer des tables de logs ou de séries temporelles avec des milliards de lignes et un index minuscule.
Anti-pattern
Termes liés
En entretien
Explique-moi le principe d'un index BRIN et son intérêt.
Un BRIN, Block Range Index, stocke seulement les min/max par bloc de pages, un peu comme un livre qui indique juste 'pages 1-50 : chapitres A-C'. Il est idéal pour indexer des tables de logs ou de séries temporelles avec des milliards de lignes et un index minuscule.
Quand éviter d'utiliser un index BRIN ?
Quand les valeurs de la colonne ne sont pas corrélées à l'ordre physique des lignes sur le disque. Sans cette corrélation naturelle, comme pour des timestamps insérés dans l'ordre, le BRIN perd son efficacité.
Fiche mise à jour le 2026-09-27