PaliSkill
SQL Intermédiaire

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

Index UNIQUE

CREATE UNIQUE INDEX combine les deux bénéfices d'un index classique et d'une contrainte UNIQUE : il accélère la recherche et interdit les doublons — en une seule instruction. La plupart des moteurs SQL implémentent d'ailleurs une contrainte UNIQUE en interne comme un index unique.

CREATE UNIQUE INDEX idx_email_unique ON abonnes(email);

Après cette instruction, toute tentative d'insérer une seconde ligne avec le même email (non-NULL) échoue, exactement comme avec la contrainte UNIQUE vue au chapitre précédent — avec, en prime, une recherche par email nettement plus rapide.

Un index classique, sans UNIQUE, n'apporte que le premier bénéfice : il accélère la recherche, mais n'empêche aucun doublon.

À retenir :

  • CREATE UNIQUE INDEX accélère la recherche et empêche les doublons non-NULL, comme une contrainte UNIQUE.
  • CREATE INDEX (sans UNIQUE) n'accélère que la recherche, sans imposer aucune règle d'unicité.
  • Une contrainte UNIQUE déclarée dans un CREATE TABLE crée d'ailleurs, en coulisses, un index unique équivalent dans la plupart des moteurs.

À vous de jouer : sur une colonne déjà déclarée UNIQUE dans un CREATE TABLE, un CREATE UNIQUE INDEX supplémentaire est-il encore utile ? Justifiez.

🔒

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