索引的知识总结

首先是索引的几种类型

普通索引

没有唯一类的限制
创建方式
可以基于表进行创建
create index 索引名 on 表名(列名(长度))
或修改表结构创建
alter table 表名 add index 索引名(列名)
创建表的时候也可以指定创建索引
create table 表名(
........
INDEX [索引名] (列名(长度))
);

如作业里如果要在subject里面为老师的评语建立索引


索引的知识总结_第1张图片
image

删除索引有2种方式
drop index 索引名 on 表名

索引的知识总结_第2张图片
image

或者alter table 表名 drop index 索引名
索引的知识总结_第3张图片
image

唯一索引

只能使用在不会出现重复字段的地方,唯一但是可以为空值
创建方式和普通索引方式相似,这里直接放出3种例子


索引的知识总结_第4张图片
image

主键索引

主键索引也是一种唯一性索引,但是每个表只能有一个主键索引,且必须指定为primary key

例如
索引的知识总结_第5张图片
image
可以注意到这里不能使用create index的语法来创建主键索引

索引的好坏

优点:通过建立索引,可以加快检索数据的时间,提高效率,而且当我们需要排序分组操作时,如果排序字段和索引键字段刚好一致,因为根据索引取得的数据已经进行过排序,所以会减少一个步骤。减少cpu的消耗

缺点:因为索引是独立与数据的另一份数据,所以增加表里面的数据量,也会同样增加索引占用的空间资源

所以在使用索引前需要权衡利弊后再使用
一般都会给较频繁的作为查询条件的字段创建索引,但是唯一性太差的话就需要再考虑了。更新很频繁的字段也不应创建索引

你可能感兴趣的:(索引的知识总结)