Lexique informatique › Bases de données › Index partiel

Index partiel Partial index, index filtré

Bases de données Svenska → Mis à jour: 2026-09-23

Un index qui ne couvre qu'un sous-ensemble de lignes, défini par une condition WHERE. CREATE INDEX ON orders (created_at) WHERE status = 'pending'. Plus petit, plus rapide, moins coûteux à maintenir.

Cas d'usage : n'indexer que les lignes « intéressantes ». Classiques : la suppression logique (WHERE deleted_at IS NULL → l'index ignore les lignes supprimées), les tâches actives d'une file (la plupart sont terminées ou archivées), les contraintes d'unicité sur un sous-ensemble (UNIQUE ... WHERE active tolère plusieurs doublons inactifs). Gain : si 99 % des lignes sont « terminées », l'index est cent fois plus petit. Le planificateur ne l'utilise que si le WHERE de la requête correspond à la condition de l'index ou l'implique. SQL Server l'appelle « filtered index » (index filtré). À distinguer de l'index d'expression, qui indexe un calcul et non un sous-ensemble. Une optimisation Postgres très courante.

← Retour au lexique