Partial Index

PostgreSQL 🟡 Mid

Définition

Index créé avec une clause WHERE qui n'indexe qu'un sous-ensemble des lignes de la table. Plus petit et plus rapide qu'un index complet.

Analogie

Un annuaire qui ne liste que les médecins de garde, pas tous les médecins de la ville.

Exemple de code

CREATE INDEX idx_active_users
  ON users (email)
  WHERE status = 'active';

Cas d'usage

Optimiser les requêtes qui filtrent toujours sur la même condition, comme les utilisateurs actifs.

#sgbd#interview#database#postgresql

En entretien

  1. Explique-moi ce qu'est un index partiel.

    C'est un index créé avec une clause WHERE qui n'indexe qu'un sous-ensemble des lignes de la table, comme un annuaire qui ne liste que les médecins de garde. Il est plus petit et plus rapide qu'un index complet.

  2. Dans quel cas concret l'utiliserais-tu ?

    Pour optimiser les requêtes qui filtrent toujours sur la même condition, comme ne cibler que les utilisateurs actifs. On indexe alors uniquement WHERE status = 'active' plutôt que toute la table.

Fiche mise à jour le 2026-09-27

← → au clavier pour passer d'une fiche à l'autre