Types d'index (INDEX, UNIQUE, FULLTEXT)

Un index est une structure de données qui améliore la rapidité des opérations de recherche sur une table. Dans MySQL, il existe plusieurs types d'index, chacun ayant ses spécificités et cas d'utilisation.

5.1.1 Index B-tree (index par défaut) :

Les index B-tree sont les plus courants et sont utilisés pour accélérer les requêtes qui incluent des conditions comme WHERE, ORDER BY, GROUP BY, et JOIN. Ils permettent une recherche rapide des valeurs exactes, des plages de valeurs, ou pour le tri.

Syntaxe pour créer un index B-tree :

CREATE INDEX index_nom ON table (colonne);

Exemple :

CREATE INDEX idx_nom ON clients (nom);

Cela crée un index sur la colonne nom de la table clients. MySQL utilisera cet index pour accélérer les recherches impliquant nom.

5.1.2 Index Full-text (texte intégral) :

Les index Full-text sont utilisés pour la recherche de texte sur de larges ensembles de données textuelles. Ils sont efficaces pour des opérations de recherche dans des colonnes contenant de grandes quantités de texte comme TEXT ou VARCHAR.

Syntaxe pour créer un index Full-text :

CREATE FULLTEXT INDEX index_nom ON table (colonne);

Exemple :

CREATE FULLTEXT INDEX idx_description ON produits (description);

Cela crée un index Full-text sur la colonne description de la table produits, optimisant les recherches textuelles dans cette colonne.

5.1.3 Index unique :

Un index unique garantit que toutes les valeurs d'une colonne (ou d'un ensemble de colonnes) sont distinctes. C'est utile pour s'assurer qu'il n'y a pas de doublons dans une colonne particulière.

Syntaxe pour créer un index unique :

CREATE UNIQUE INDEX index_nom ON table (colonne);

Exemple :

CREATE UNIQUE INDEX idx_email ON clients (email);

Cela garantit qu'aucun client ne pourra avoir la même adresse e-mail.

5.1.4 Index composite :

Un index composite est un index qui couvre plusieurs colonnes. Il est utilisé pour accélérer les requêtes qui filtrent ou ordonnent les résultats selon plusieurs colonnes.

Syntaxe pour créer un index composite :

CREATE INDEX index_nom ON table (colonne1, colonne2, ...);

Exemple :

CREATE INDEX idx_nom_ville ON clients (nom, ville);

Cela crée un index qui optimise les recherches basées à la fois sur le nom et la ville.

Last updated