Maison > base de données > tutoriel mysql > le corps du texte

Explication détaillée et exemple de tutoriel de l'index MySQL

零下一度
Libérer: 2017-05-16 10:42:54
original
1164 Les gens l'ont consulté

Index MySQL

L'établissement de l'index MySQL est très important pour le fonctionnement efficace de MySQL. L'index peut grandement améliorer la vitesse de récupération de MySQL.

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 appliqué aux conditions de l'instruction SQL query (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 mentionne les 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 :

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.
CREATE INDEX indexName ON mytable(username(length));
Copier après la connexion

Modifier la structure de la table

Spécifier directement la syntaxe de
ALTER mytable ADD INDEX [indexName] ON (username(length))
Copier après la connexion

CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
INDEX [indexName] (username(length))  
 
);
Copier après la connexion
supprimer

index lors de la création de la table

Indice unique
DROP INDEX [indexName] ON mytable;
Copier après la connexion

Il est similaire à l'index ordinaire précédent, sauf que la valeur de la colonne d'index doit être unique, mais les valeurs nulles sont autorisées. 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

Modifier la structure de la table
CREATE UNIQUE INDEX indexName ON mytable(username(length))
Copier après la connexion

Spécifier directement lors de la création de la table
ALTER mytable ADD UNIQUE [indexName] ON (username(length))
Copier après la connexion

Utilisez la commande ALTER pour ajouter et supprimer des index
CREATE TABLE mytable(  
 
ID INT NOT NULL,   
 
username VARCHAR(16) NOT NULL,  
 
UNIQUE [indexName] (username(length))  
 
);
Copier après la connexion

Il existe quatre façons d'ajouter des index à la table de données :

Les exemples suivants ajoutent des index à la table.
ALTER TABLE tbl_name ADD PRIMARY KEY (column_list): 该语句添加一个主键,这意味着索引值必须是唯一的,且不能为NULL。
ALTER TABLE tbl_name ADD UNIQUE index_name (column_list): 这条语句创建索引的值必须是唯一的(除了NULL外,NULL可能会出现多次)。
ALTER TABLE tbl_name ADD INDEX index_name (column_list): 添加普通索引,索引值可出现多次。
ALTER TABLE tbl_name ADD FULLTEXT index_name (column_list):该语句指定了索引为 FULLTEXT ,用于全文索引。
Copier après la connexion

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 ADD INDEX (c);
Copier après la connexion

Utilisez la commande ALTER pour ajouter et supprimer des clés primaires
mysql> ALTER TABLE testalter_tbl DROP INDEX (c);
Copier après la connexion

La clé primaire 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 la clé par défaut NOT NULL. Les exemples sont les suivants :

Vous pouvez également utiliser la commande ALTER pour supprimer la clé primaire :
mysql> ALTER TABLE testalter_tbl MODIFY i INT NOT NULL;
mysql> ALTER TABLE testalter_tbl ADD PRIMARY KEY (i);
Copier après la connexion

Vous devez uniquement spécifier la PRIMARY KEY lors de la suppression, mais lors de la suppression un index, vous devez connaître le nom de l'index.
mysql> ALTER TABLE testalter_tbl DROP PRIMARY KEY;
Copier après la connexion

显示索引信息

你可以使用 SHOW INDEX 命令来列出表中的相关的索引信息。可以通过添加 \G 来格式化输出信息。

尝试以下实例:

mysql> SHOW INDEX FROM table_name\G
........
Copier après la connexion

【相关推荐】

1. 特别推荐“php程序员工具箱”V0.1版本下载

2. 免费mysql在线视频教程

3. 数据库设计那些事

Ce 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!