1. 创建索引的有点及缺点?
优点:1.加快数据的检索速度
2.创建唯一性索引,保证数据库表中每一行数据的唯一性
3.减少磁盘IO(像字典一样可以直接定位)
4.加速表与表之间的连接
5.在使用分组和排序子句进行数据检索时,可以显著减少查询中分组和排序的时间
缺点:1.创建和维护需要时间,并且随着数据量的增加而增加
2.索引需要占用物理空间,特别是聚集索引,需要较大的空间
3.对增删改操作比较慢。
2.什么时候需要添加索引?
1.主键自动创建唯一索引
2.频繁作为查询条件的字段
3.查询中需要排序的字段
4.查询中分组或者统计的字段
3.什么时候不需要索引
1.频繁更新的字段,因为每次更新不仅仅是更新记录,而且还会更新索引,保存索引文件
2.where条件中不用的字段
3.表记录太少,不需要创建索引
4.经常增删改的表
5.大量重复的字段,比如性别
4.索引的类别
1.主键索引,标识一条记录唯一,不能为空,一般用primary key来约束
2.唯一索引,索引列的值必须唯一,且不能为空,如果为组合索引,则列值的组合必须唯一
3.普通索引,最基本的索引,没有任何限制
4.联合索引,在多个字段上建立索引,加快查询速度
5.索引优化
1.前导模糊查询不能使用索引,如 name like '%rose‘
2.尽量用union all 代替 union
3.