Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment créer un index dans MySQL

Les index MySQL facilitent les recherches et améliorent la vitesse des requêtes SQL. Voici comment créer un index dans MySQL pour améliorer les performances de la base de données, à l'aide de l'instruction MySQL CREATE INDEX.

Fonctionnement de l'indexation dans MySQL

Généralement, lorsque vous exécutez une requête SQL avec une clause WHERE ou d'autres types de recherches telles que JOINS, MySQL doit analyser tous les enregistrements de votre table pour trouver les lignes correspondantes. Si vos tables comportent des millions de lignes, cela peut prendre beaucoup de temps et ralentir considérablement vos requêtes SQL.

Les index MySQL accélèrent vos requêtes SQL en conservant les valeurs des colonnes indexées dans une structure B-tree optimisée pour les recherches et les correspondances. Ainsi, les index facilitent la recherche rapide de lignes correspondant à une ou plusieurs valeurs.

Par défaut, MySQL crée un index pour chaque colonne de clé primaire de votre base de données.

Lecture bonus :comment créer une procédure stockée dans MySQL

Comment créer un index dans MySQL

Voici les étapes pour créer un index dans MySQL. Vous pouvez soit créer un index au moment de la création de la table, soit l'ajouter par la suite. Nous examinerons ces deux approches.

Comment créer un index MySQL lors de la création d'une table

Voici la syntaxe pour créer un index lors de la création d'une table

CREATE TABLE table_name(
   column_definitions,
   INDEX (list_of_columns) 
);

Dans la requête ci-dessus, table_name est votre table à créer et column_definitions est la liste des colonnes et des définitions.

INDEX(list_of_columns) est l'endroit où vous créez l'index MySQL. L'index sera créé pour la liste de colonnes séparées par des virgules mentionnées comme list_of_columns

Lecture bonus :comment créer un utilisateur dans MySQL

Voici un exemple.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id) 
);

Dans la requête ci-dessus, nous avons créé un index pour product_id colonne.

Voici un exemple de création d'index à l'aide de plusieurs colonnes.

CREATE TABLE orders(
   order_id INT PRIMARY KEY,
   sale INT NOT NULL,
   product_id INT NOT NULL,
   product_name VARCHAR(10),
   INDEX (product_id, order_id) 
);

Dans la requête ci-dessus, nous avons créé un index pour plusieurs colonnes product_id, order_id

Lecture bonus :comment créer une base de données dans MySQL

Comment ajouter un index à une colonne dans un tableau

Supposons que vous souhaitiez ajouter un index pour une colonne ou un ensemble de colonnes, puis utilisez l'instruction CREATE INDEX. Voici la syntaxe de l'instruction CREATE INDEX

CREATE INDEX index_name ON table_name (column_list)

Dans la requête ci-dessus, nous spécifions le nom de l'index, la table pour laquelle vous devez créer un index et la liste des colonnes à inclure dans l'indexation.

Voici un exemple pour ajouter un nouvel index pour la colonne product_name dans les commandes ci-dessus tableau

CREATE INDEX prod_name_index ON orders (product_name);

Pour afficher les index ajoutés à une table, vous pouvez utiliser l'instruction SHOW INDEXES. Voici la syntaxe pour SHOW INDEXES

SHOW INDEXES from table_name;

Voici un exemple pour afficher les index des commandes tableau
SHOW INDEXES from orders;

Espérons que l'article ci-dessus vous aidera à créer un index dans MySQL.

Ubiq facilite la visualisation des données en quelques minutes et la surveillance dans des tableaux de bord en temps réel. Essayez-le aujourd'hui !