Présentation
MySQL est une application de base de données qui organise les données dans des tables, qui à leur tour ont des valeurs organisées en lignes et en colonnes. Dans MySQL, un index est une structure de données qui rend les informations plus faciles à rechercher.
Sans index, MySQL lit toute la table pour trouver la ligne requise et est très inefficace.
Ce guide vous montrera comment créer un index dans MySQL en utilisant le CREATE INDEX
déclaration.
Prérequis
- Une installation MySQL existante
- Un compte utilisateur MySQL avec root ou administrateur privilèges
- Accès à une ligne de commande/fenêtre de terminal :
- Sous Linux, cliquez sur Activités > Rechercher > Terminal
- Sous Windows, cliquez avec le bouton droit sur Démarrer > Ligne de commande (ou Windows PowerShell)
Syntaxe de création d'index MySQL
Un CREATE INDEX
instruction dans MySQL utilise le format suivant :
mysql> CREATE INDEX [some_index] ON [some_table] ([some_column],[other_column]);
some_index
– Le nom de l'indexsome_table
– Le nom de la table avec les colonnes indexéessome_column, other_column
– Les noms des colonnes à indexer
MySQL Créer un index dans une nouvelle table
Pour créer un index en même temps que la table est créée dans MySQL :
1. Ouvrez une fenêtre de terminal et connectez-vous au shell MySQL.
mysql -u username -p
2. Créez et basculez vers une nouvelle base de données en saisissant la commande suivante :
mysql> CREATE DATABASE mytest;
Query OK, 1 row affected (0.01 sec)
mysql; USE mytest;
Database changed
3. Ensuite, créez des colonnes dans la table et indexez-les :
mysql> CREATE TABLE example (
col1 INT PRIMARY KEY,
col2 INT NOT NULL,
col3 INT NOT NULL,
col4 VARCHAR(20),
INDEX (col2, col3)
);
La commande crée une table nommée exemple , le remplit avec 4 colonnes et ajoute des index pour la colonne 2 et la colonne 3.
4. Ensuite, affichez une liste des index de la table :
mysql; SHOW INDEXES FROM example;
Vous devriez voir un index pour PRIMARY, COL2 et COL3. Même si PRIMARY n'a pas été spécifié, MySQL a automatiquement créé un index pour la clé primaire.
Ajouter un index à une table MySQL existante
Les meilleures pratiques de MySQL recommandent de créer un index en même temps que la table est créée. Cependant, un index peut également être ajouté à une table existante. Les instructions ci-dessous expliquent comment ajouter un index à une table MySQL existante.
1. Créez une nouvelle table en saisissant la commande suivante :
mysql> CREATE TABLE example2 (
col1 INT PRIMARY KEY,
col2 VARCHAR(20),
col3 VARCHAR(20),
col4 VARCHAR(20)
);
Query OK, 0 rows affected (0.25 sec)
2. Ensuite, affichez l'index actuel pour example2 :
mysql> SHOW INDEXES FROM example2;
Le système doit afficher un index unique pour la clé primaire.
3. Ensuite, ajoutez un index pour col2 et col3 en saisissant la commande suivante :
mysql> CREATE INDEX index1 ON example2 (col2,col3);
4. Affichez les index pour example2 :
mysql> SHOW INDEXES FROM example2;
Le système devrait maintenant afficher l'index de clé primaire, plus col2 et col3 listés dans index1 .