首先是索引的几种类型
普通索引
没有唯一类的限制
创建方式
可以基于表进行创建
create index 索引名 on 表名(列名(长度))
或修改表结构创建
alter table 表名 add index 索引名(列名)
创建表的时候也可以指定创建索引
create table 表名(
........
INDEX [索引名] (列名(长度))
);
如作业里如果要在subject里面为老师的评语建立索引
删除索引有2种方式
drop index 索引名 on 表名
唯一索引
只能使用在不会出现重复字段的地方,唯一但是可以为空值
创建方式和普通索引方式相似,这里直接放出3种例子
主键索引
主键索引也是一种唯一性索引,但是每个表只能有一个主键索引,且必须指定为primary key
索引的好坏
优点:通过建立索引,可以加快检索数据的时间,提高效率,而且当我们需要排序分组操作时,如果排序字段和索引键字段刚好一致,因为根据索引取得的数据已经进行过排序,所以会减少一个步骤。减少cpu的消耗
缺点:因为索引是独立与数据的另一份数据,所以增加表里面的数据量,也会同样增加索引占用的空间资源
所以在使用索引前需要权衡利弊后再使用
一般都会给较频繁的作为查询条件的字段创建索引,但是唯一性太差的话就需要再考虑了。更新很频繁的字段也不应创建索引