Covering Index (INCLUDE)
PostgreSQL 🔴 SeniorDéfinition
Index qui inclut des colonnes supplémentaires non-clé via INCLUDE. Permet un Index-Only Scan en fournissant toutes les colonnes nécessaires sans accéder a la table.
Analogie
Un sommaire de livre qui inclut un résume de chaque chapitre : pas besoin de tourner les pages.
Exemple de code
CREATE INDEX idx_orders_covering
ON orders (user_id)
INCLUDE (total, status);
Cas d'usage
Éliminer les accès table pour les requêtes fréquentes qui ne lisent que quelques colonnes.
Termes liés
En entretien
Explique-moi ce qu'est un covering index avec INCLUDE.
C'est un index qui inclut des colonnes supplémentaires non-clé via INCLUDE, comme un sommaire de livre qui inclut un résumé de chaque chapitre. Ça permet un Index-Only Scan en fournissant toutes les colonnes nécessaires sans accéder à la table.
Dans quel cas ça vaut le coup d'en créer un ?
Quand des requêtes fréquentes ne lisent que quelques colonnes en plus de la clé indexée, un covering index élimine complètement les accès à la table. Ça évite l'aller-retour supplémentaire vers la table pour ces colonnes.
Fiche mise à jour le 2026-09-27