Index MySQL
Index MySQL
L'établissement de l'index MySQL est très important pour le fonctionnement efficace de MySQL. L'index peut grandement améliorer MySQL. vitesse de récupération.
Par exemple, si MySQL qui est correctement conçu et utilise des index est une Lamborghini, alors MySQL qui n'est pas conçu et utilise des index est un tricycle humain.
Les index sont divisés en index à colonne unique et en index combinés. Un index à une seule colonne signifie qu'un index ne contient qu'une seule colonne. Une table peut avoir plusieurs index à une seule colonne, mais il ne s'agit pas d'un index combiné. Index combiné, c'est-à-dire qu'un index contient plusieurs colonnes.
Lors de la création d'un index, vous devez vous assurer que l'index est une condition appliquée à l'instruction de requête SQL (généralement comme condition de la clause WHERE).
En fait, l'index est aussi une table, qui stocke la clé primaire et les champs d'index et pointe vers les enregistrements de la table d'entité.
Ce qui précède parle des avantages de l'utilisation des index, mais une utilisation excessive des index entraînera des abus. Par conséquent, l'index aura également ses inconvénients : bien que l'index améliore considérablement la vitesse des requêtes, il réduira également la vitesse de mise à jour de la table, comme INSERT, UPDATE et DELETE sur la table. Parce que lors de la mise à jour de la table, MySQL doit non seulement enregistrer les données, mais également enregistrer le fichier d'index.
La création de fichiers d'index occupera de l'espace disque.
Index normal
Créer un index
C'est l'index le plus basique, il n'a aucune restriction. Il dispose des méthodes de création suivantes :
CREATE INDEX indexName ON mytable(username(length));S'il est de type CHAR, VARCHAR, la longueur peut être inférieure à la longueur réelle du champ ; s'il est de type BLOB et TEXT, la longueur doit être spécifiée.
Modifier la structure de la table
ALTER mytable ADD INDEX [indexName] ON (username(length))précise directement lors de la création de la table
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, INDEX [indexName] (username(length)) );pour supprimer les index
DROP INDEX [indexName] ON mytable;
Indice unique
Il est similaire à l'index ordinaire précédent, sauf que la valeur de la colonne d'index doit être unique, mais des valeurs nulles sont autorisés. Dans le cas d'un index composite, la combinaison des valeurs des colonnes doit être unique. Il dispose des méthodes de création suivantes :
Créer un index
CREATE UNIQUE INDEX indexName ON mytable(username(length))Modifier la structure de la table
ALTER mytable ADD UNIQUE [indexName] ON (username(length))Précisez directement
CREATE TABLE mytable( ID INT NOT NULL, username VARCHAR(16) NOT NULL, UNIQUE [indexName] (username(length)) );
Utilisez la commande ALTER pour ajouter et supprimer des index
Il existe quatre façons d'ajouter des index à la table de données :
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list ): Cette instruction ajoute une clé primaire, ce qui signifie que la valeur de l'index doit être unique et ne peut pas être NULL.
ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): La valeur de l'index créé par cette instruction doit être unique (sauf pour NULL, NULL peut apparaître plusieurs fois ).
ALTER TABLE tbl_name ADD INDEX index_name (column_list) : Ajoutez un index normal, la valeur de l'index peut apparaître plusieurs fois.
ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list) :Cette instruction spécifie l'index comme FULLTEXT pour l'indexation en texte intégral.
L'exemple suivant consiste à ajouter un index à la table.
mysql> ALTER TABLE testalter_tbl ADD INDEX (c);Vous pouvez également utiliser la clause DROP dans la commande ALTER pour supprimer un index. Essayez l'exemple suivant pour supprimer l'index :
mysql> ALTER TABLE testalter_tbl DROP INDEX (c)
Utilisez la commande ALTER pour ajouter et supprimer la clé primaire
La clé primaire key ne peut agir que sur une seule colonne. Lors de l'ajout d'un index de clé primaire, vous devez vous assurer que la clé primaire n'est PAS NULL par défaut. Un exemple est le suivant :
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL; mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);Vous pouvez également utiliser la commande ALTER pour supprimer la clé primaire :
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;Vous devez uniquement spécifier PRIMARY KEY lorsque suppression, mais lors de la suppression d'un index, vous devez connaître le nom de l'index.
Afficher les informations d'index
Vous pouvez utiliser la commande SHOW INDEX pour répertorier les informations d'index pertinentes dans le tableau. Les informations de sortie peuvent être formatées en ajoutant G.
Essayez les exemples suivants :
mysql> SHOW INDEX FROM table_name\G ........
Recommandations de didacticiels vidéo connexes :