MySQL CREATE INDEX

Dans ce tutoriel nous allons découvrir comment créer un index dans MySQL.

Supposons que vous ayez une liste de contact des personnes de votre famille. Supposons que vous souhaitiez trouver le numéro de téléphone de Thomas Calves. Sachant que les noms sont classés par ordre alphabétique, vous commencez par rechercher la page où le nom est Thomas Calves, puis son numéro de téléphone.
 


 
Maintenant, si les noms ne sont pas triés par ordre alphabétique, vous devrez parcourir toutes les pages, en lisant chaque nom dessus jusqu’à ce que vous trouviez Thomas Calves. Ceci s’appelle la recherche séquentielle. Vous passez en revue toutes les entrées jusqu’à ce que vous trouviez la personne avec le numéro de téléphone que vous recherchez.

En associant la liste de contact à une table de base de données, si vous avez une table de contact et que vous devez trouver le numéro de téléphone de Thomas Calves, vous devez exécuter la requête suivante:

SELECT
    telNbr
FROM 
    contacts
WHERE 
    nom = 'Thomas Calves';

C’est assez facile. Bien que la base de données doit analyser toutes les lignes de la table jusqu’à ce qu’elle trouve la ligne. Si la table a des millions de lignes, sans index, la récupération des données prendrait beaucoup de temps pour renvoyer le résultat.
Liste des commandes MySQL

Comment créer un index dans MySQL

Généralement, vous créez des index au moment de la création d’une table. Par exemple, l’instruction suivante crée une nouvelle table avec un index composé de deux colonnes colonne2 et colonne3.

CREATE TABLE table_name(
   colonne1 INT PRIMARY KEY,
   colonne2 INT NOT NULL,
   colonne3 INT NOT NULL,
   colonne4 INT NOT NULL,
   INDEX (colonne2,colonne3) 
);

Pour ajouter un index pour une colonne ou un ensemble de colonnes, utilisez l’instruction CREATE INDEX comme suit:

CREATE INDEX indexName ON table_name (colonne1, colonne2, ...);

Par exemple, pour ajouter un nouvel index à la colonne « nom » dans la table « contacts », utilisez l’instruction suivante:

CREATE INDEX index_nom ON contacts(nom);
MySQL DROP INDEX

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *