Indice MySQL
Avantages de l'index
Index ressemble à un nom très noble Pour parler franchement, c'est la dernière table des matières de notre livre.
Si vous utilisez le Dictionnaire Xinhua pour rechercher le caractère chinois "张", sans utiliser la table des matières, vous devrez peut-être passer de la première page du Dictionnaire Xinhua à la dernière page, ce qui peut prendre jusqu'à deux heures. Plus le dictionnaire est épais, plus cela vous prendra du temps. Vous utilisez maintenant le répertoire pour rechercher le caractère chinois "Zhang". La première lettre de Zhang est z, et les caractères chinois commençant par z partent de plus de 900 pages. Avec cet indice, cela ne vous prendra peut-être qu'une minute. recherche d'un caractère chinois. Cela montre l'importance de l'index sexe.
Les indices sont utilisés pour trouver rapidement les lignes qui ont une valeur spécifique dans une colonne.
Sans utiliser d'index, MySQL doit commencer à l'enregistrement 1 puis lire la table entière jusqu'à ce qu'il trouve la ligne pertinente. Plus la table est grande, plus cela prend du temps. Si la colonne interrogée dans la table possède un index, MySQL peut rapidement arriver au point où il recherche le milieu du fichier de données sans avoir à examiner toutes les données.
Bien sûr, il n'est pas facile d'avoir trop d'index. Plus on écrit d'index, plus la vitesse de modification sera lente. Car lors de l'écriture de données modifiées, l'index doit également être modifié.
Type d'index MySQL
索引类型 | 功能说明 |
---|---|
普通索引 | 最基本的索引,它没有任何限制 |
唯一索引 | 某一行企用了唯一索引则不准许这一列的行数据中有重复的值。针对这一列的每一行数据都要求是唯一的 |
主键索引 | 它是一种特殊的唯一索引,不允许有空值。一般是在建表的时候同时创建主键索引,常用于用户ID。类似于书中的页码 |
全文索引 | 对于需要全局搜索的数据,进行全文索引 |
Remarque : Veuillez étudier les parties suivantes après avoir terminé 12.7.
Indice Normal
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add index(字段) |
示例 | ALTER TABLE money ADD INDEX(username ); |
示例解释 | 为money表的username字段增加索引 |
Indice Unique
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add UNIQUE(字段) |
示例 | ALTER TABLE money ADD UNIQUE(email ); |
示例解释 | 为money表的email字段增加唯一索引 |
Index de texte intégral
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add FULLTEXT(字段) |
示例 | ALTER TABLE money ADD FULLTEXT(content ); |
示例解释 | 为money表的content字段增加唯一索引 |
Index de clé primaire
类型 | 详细说明 |
---|---|
基本语法 | alter table 表 add PRIMARY KEY(字段) |
示例 | ALTER TABLE money ADD PRIMARY KEY(id ); |
示例解释 | 为money表的id字段增加主键索引 |
Vous pouvez également déclarer un index lors de la création d'une table
Lors de la création d'une table, vous pouvez ajoutez le correspondant après l'instruction create table Le type peut être utilisé pour déclarer l'index :
PRIMARY KEY (champ)
INDEX [nom de l'index] (champ)
TEXTE COMPLET [nom de l'index] (champ)
UNIQUE[nom de l'index] (champ)
Remarque : le nom de l'index entre parenthèses est facultatif.
L'exemple global est le suivant :
CREATE TABLE
test
(
id
INT NOT NULL,
username
VARCHAR(20) NOT NULL ,
password
INT NON NULL,
content
INT NON NULL,
CLÉ PRIMAIRE (id
),
INDEX pw (password
),
UNIQUE (username
),
TEXTE COMPLET (content
)
) MOTEUR = InnoDB;