GNU/Linux >> Tutoriels Linux >  >> Linux

Comment créer ou ajouter un index dans MySQL avec des exemples

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'index
  • some_table – Le nom de la table avec les colonnes indexées
  • some_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 .


Linux
  1. Comment créer une base de données dans MySQL avec MySQL Workbench

  2. Ajouter un utilisateur au groupe sous Linux, comment le faire (avec exemples)

  3. Comment créer une VM à partir de zéro avec Virsh ?

  4. Comment créer une base de données MySQL dans cPanel

  5. Comment ajouter une connexion MySQL distante sous Linux ?

Comment ajouter un nouvel utilisateur MySQL avec des autorisations GRANT

Comment créer une base de données avec MySQL Database Wizard

Comment créer une base de données dans MySQL

Comment créer une base de données et ajouter une collection avec MongoDB GUI Compass

Comment créer un e-commerce avec Magento

Comment créer des araignées Web avec Scrapy