Sous MySQL, la création d'index est automatique dans les cas suivants :
la création d'une clé primaire : un index est créé automatiquement sur toute colonne qui porte une clé primaire ;
la création d'une clé étrangère : un index est créé automatiquement sur toute colonne qui porte une clé étrangère.
la déclaration d'une contrainte
unique sur une champ : un index est créé automatiquement sur toute colonne qui porte des valeurs uniques.
Dans tous les autres cas, la création d'un index doit se faire manuellement.
2.2. Création manuelle d'index
La création d'un index se fait par la commande suivante.
Exemple 80. Création d'un index
CREATEINDEX nom_index
ON nom_table(nom_colonne[, nom_colonne])
L'existence d'un index permet d'accélérer énormément les requêtes qui peuvent les utiliser, parfois de facteurs supérieurs à 1000. En revanche, l'entretien d'un index sur une colonne a un impact sur les écritures de cette colonne. Cela dit, dans la pratique, cet impact reste petit devant les gains apportés.