SQL 索引的创建和删除以及使用索引的好处

索引主要有普通索引、唯一索引、主键索引、外键索引、全文索引、复合索引几种

一、创建索引

1、alter 方式创建索引

① 普通索引:MySQL中基本索引类型,允许在定义索引的列中插入重复值和空值 alter table 表名 add index 索引名(要创建索引的字段名);
② 唯一索引:索引列中的值必须是唯一的,但是允许为空值, alter table 表名 add unique index 索引名(要创建索引的字段名);
③ 全文索引:每个表只允许有一个全文索引,在CHAR、VARCHAR、TEXT类型字段上使用全文索引 alter table 表名 add fulltext index 索引名(要创建索引的字段名);

2、create 方式创建索引

① 普通索引 create index 索引名 on 表名(要创建索引的字段名);
② 唯一索引 create unique index 索引名 on 表名(要创建索引的字段名);
③ 全文索引 create fulltext index 索引名 on 表名(要创建索引的字段名);

二、删除索引 

1、drop方式直接删除索引

drop index 索引名 on 表名;

2、alter方式删除索引

alter table 表名 drop index 索引名;

三、索引的使用

使用索引的优点:

在大数据量的查询中,合理使用索引的优点非常明显,不仅能大幅提高匹配where条件的检索效率,还能用于排序和分组操作的加速。

当时索引如果使用不当也有比较大的坏处:当对表中的数据进行增加、删除、修改时,索引也需要动态的维护,降低了数据的维护速度。

只要创建了索引,就一定会走索引吗? 不一定。 比如,在使用组合索引的时候,如果没有遵从“最左前缀”的原则进行搜索,则索引是不起作用的。

经验分享 程序员 微信小程序 职场和发展