0
点赞
收藏
分享

微信扫一扫

mysql添加索引


PRIMARY, INDEX, UNIQUE 这3种是一类

1.添加PRIMARY KEY(主键索引)  就是 唯一 且 不能为空

ALTER TABLE `table_name` ADD PRIMARY KEY (`column`);

2.添加UNIQUE(唯一索引)  不允许有重复

ALTER TABLE `table_name` ADD UNIQUE (`column`);

3.添加INDEX(普通索引) 

ALTER TABLE `table_name` ADD INDEX index_name (`column`);

4.添加FULLTEXT(全文索引)  用于在一篇文章中,检索文本信息的

ALTER TABLE `table_name` ADD FULLTEXT (`column`);

5.添加多列索引 ,联合索引

ALTER TABLE `table_name` ADD INDEX index_name (`column1`,`column2`,`column3`);

查询sql是否用到了索引以及那个索引,sql前面加explain

explain SELECT * FROM test_a WHERE NAME ='张三';

mysql添加索引_database

可以发现用到了name索引 .

需要注意的是mysql在使用like查询的时候只有使用后面的%时,才会使用到索引

简单说明我们平时该怎么建索引,举个例子

我们有一张user表,有下列字段:
id INT
姓名 VARCHAR(10)
身份证号码 VARCHAR(18)
电话 VARCHAR(10)
住址 VARCHAR(50)
备注信息 TEXT

建索引的思路:

那么这个id,作为主键,使用 PRIMARY
姓名 如果要建索引的话,因为姓名会重复,那么就是普通的 INDEX
身份证号码 如果要建索引的话,那么可以选择 UNIQUE (唯一的,不允许重复)
备注信息 , 如果需要建索引的话,可以选择 FULLTEXT,全文搜索。

不过 FULLTEXT 用于搜索很长一篇文章的时候,效果最好。
用在比较短的文本,如果就一两行字的,普通的 INDEX 也可以,看实际情况

举报

相关推荐

0 条评论