Dans une base de données relationnelle, un index est une structure de stockage physique distincte qui trie les valeurs d'une ou plusieurs colonnes dans une table de base de données. Il s'agit d'une collection et d'un ensemble correspondant d'une ou plusieurs valeurs de colonne dans une. table. Liste de pointeurs logiques vers les pages de données de la table qui identifient physiquement ces valeurs. L'index est équivalent à la table des matières d'un livre. Vous pouvez trouver rapidement le contenu souhaité en fonction des numéros de page dans la table des matières. L'article
résume principalement les méthodes de fonctionnement de l'index MySQL, y compris les opérations de création d'index, de reconstruction d'index, d'interrogation d'index et de suppression d'index. Dans les exemples répertoriés ci-dessous, « table_name » représente le nom de la table de données, « index_name » représente le nom de l'index et la liste de colonnes représente la liste de champs (par exemple : « id », « order_id »).
1. Créer un index
La création d'un index peut être effectuée dans l'instruction CREATE TABLE, ou vous pouvez utiliser CREATE INDEX ou ALTER TABLE seuls pour ajouter un index à la table. Les instructions de commande suivantes montrent comment créer respectivement un index de clé primaire (PRIMARY KEY), un index conjoint (UNIQUE) et un index normal (INDEX).
mysql>ALTER TABLE `table_name` ADD INDEX `index_name` (liste de colonnes);
mysql>ALTER TABLE `table_name` ADD UNIQUE `index_name` (liste de colonnes);
mysql>ALTER TABLE `table_name` ADD PRIMARY KEY `index_name` (liste de colonnes);
mysql>CREATE INDEX `index_name` ON `table_name` (column_list);
mysql>CREATE UNIQUE INDEX `index_name` ON `table_name` (column_list);
Par exemple :
mysql>ALTER TABLE `article` ADD INDEX `id`;//Ajouter un index d'identification à la table de l'article
Ou :
mysql>ALTER TABLE `article` ADD INDEX (`id`,`order_id`); Ajouter un index id à la table article, index order_id
2. Reconstruire l'index
La reconstruction des index est souvent utilisée lors des opérations régulières de maintenance des bases de données. Après une longue période d'exécution de la base de données, l'index peut être endommagé et doit être reconstruit. La réindexation des données peut améliorer l’efficacité de la récupération.
mysql> RÉPARER TABLE `table_name` QUICK;
3. Interroger l'index de la table de données
mysql> >Pour interroger les index des tables de données, veuillez vous référer à l'article sur ce site : Explication détaillée des commandes d'index des tables de requête mysql
4. Supprimer les index
La suppression des index peut être réalisée en utilisant ALTER TABLE ou DROP Instructions d'INDEX. DROP INDEX peut être traité comme une instruction dans ALTER TABLE. Son format est le suivant :
mysql>DROP index `index_name` ON `table_name` (liste de colonnes);
mysql>ALTER TABLE. `table_name ` DROP INDEX `index_name` (liste de colonnes);
mysql>ALTER TABLE `table_name` DROP UNIQUE `index_name` (liste de colonnes);
mysql>ALTER TABLE `table_name` DROP PRIMARY KEY `index_name` (liste de colonnes);
Dans les trois instructions précédentes, l'index index_name dans table_name est supprimé. Dans la dernière instruction, il n'est utilisé que pour supprimer l'index PRIMARY KEY, car une table ne peut avoir qu'un seul index PRIMARY KEY, le nom de l'index n'a donc pas besoin d'être spécifié. Si aucun index PRIMARY KEY n'est créé mais que la table possède un ou plusieurs index UNIQUE, MySQL supprime le premier index UNIQUE. Si une colonne est supprimée d'une table, l'index sera affecté. Pour un index multi-colonnes, si l'une des colonnes est supprimée, la colonne sera également supprimée de l'index. Si vous supprimez toutes les colonnes qui composent l'index, l'intégralité de l'index sera supprimée.
Le contenu ci-dessus est un résumé des commandes d'opération d'index MySQL. J'espère qu'il pourra aider tout le monde.
Recommandations associées :
Comment rendre l'utilisation des index de bases de données plus efficace ? À propos des index redondants et en double dans MySQLOpérations d'index très importantes dans MySqlCe qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!