Leçon 5 / 8 — Chapitre 7: Index approfondi
Ce qui est indexé automatiquement
La plupart des moteurs SQL créent automatiquement un index derrière une contrainte PRIMARY KEY — et souvent derrière une contrainte UNIQUE aussi — puisque garantir l'unicité exige de toute façon de pouvoir détecter rapidement un doublon.
Une FOREIGN KEY, en revanche, n'est pas systématiquement indexée automatiquement selon les moteurs — PostgreSQL, notamment, ne crée aucun index automatique sur la colonne qui porte une clé étrangère. C'est un oubli fréquent : sur une grosse table, l'absence d'index sur une colonne de clé étrangère peut ralentir sensiblement les jointures et les suppressions en cascade (ON DELETE CASCADE), qui doivent alors chercher les lignes correspondantes sans l'aide d'un index.
À retenir :
PRIMARY KEY(et souventUNIQUE) crée automatiquement un index derrière elle, dans la plupart des moteurs.FOREIGN KEYne crée pas toujours un index automatique sur la colonne référençante — PostgreSQL, en particulier, ne le fait jamais.- Sur une table volumineuse avec des jointures ou des suppressions en cascade fréquentes, ajouter manuellement un index sur la colonne de clé étrangère est souvent nécessaire.
À vous de jouer : sur la table inscriptions du chapitre précédent (abonne_id en clé étrangère), un index manuel sur abonne_id serait-il automatiquement présent sous PostgreSQL ?
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