PaliSkill
SQL Intermédiaire

Leçon 2 / 8 — Chapitre 7: Index approfondi

Index composite

Un index peut porter sur plusieurs colonnes à la fois — on parle alors d'index composite. L'ordre des colonnes dans sa définition compte énormément.

CREATE INDEX idx_statut_age ON abonnes(statut, age);

Cet index accélère efficacement une requête qui filtre sur statut seul (WHERE statut = 'actif'), ou sur statut et age ensemble (WHERE statut = 'actif' AND age > 25) — la première colonne de l'index reste exploitable seule.

Il n'aide en revanche pas une requête qui filtre uniquement sur age, sans condition sur statut (WHERE age = 25) : l'index est organisé d'abord par statut, puis par age à l'intérieur de chaque valeur de statut — sauter directement à un age précis, sans passer par statut, ne peut pas exploiter cette structure.

À retenir :

  • Un index composite (colonne1, colonne2) accélère les requêtes qui filtrent sur colonne1 seule, ou sur colonne1 et colonne2 ensemble.
  • Il n'accélère généralement pas une requête qui filtre uniquement sur colonne2, sans condition sur colonne1.
  • L'ordre des colonnes dans un index composite doit refléter l'ordre dans lequel les requêtes réelles filtrent habituellement leurs données.

À vous de jouer : pour une application qui filtre presque toujours d'abord sur age, puis parfois sur statut, dans quel ordre faudrait-il déclarer les colonnes de l'index ?

🔒

Continuez ce module

Débloquez les leçons restantes ainsi que la certification finale.

2 500 XOF / 3,81 € / 4,15 $

Débloquez les 80 leçons restantes de ce module

Votre paiement est vérifié avant l'activation de l'accès