索引的分类很多,比如唯一索引,函数索引,普通索引,组合索引,位图索引等。
建立索引的目的只有一个,就是为了提高效率,比如一份报告中的目录,可以通过目录快速定位到对应的部分。
索引的优点:
1.加快查询或者检索的速度;
2.加快表关联的效率,在进行表关联时,可以对关联的字段建立索引;
3.使用分组或者排序的时候,可以减少分组或者排序的时间;
4.建立唯一索引,可以保证表中数据的唯一性等。
索引的缺点:
1.在数据分析或者开发或者中,创建索引和维护索引需要耗费大量的时间;
2.索引会占用物理空间,数据量越大,所用的空间也就越大;
3.索引会降低增删改的效率,因为每次增删改时都需要对索引进行动态维护等。
索引的使用场景,也就是什么我们应该去建立索引呢?可以对照索引的优点方面进行阐述:
1.主键建立唯一索引,创建表中指定某个列为主键列时,索引会自动创建;
2.频繁作为查询条件的字段建立索引;
3.排序时所用的字段建立索引;
4.分组时所用的字段建立索引;
5.常用于统计的字段建立索引等。
索引不适用的场景,也就是什么时候不应该去建立索引,可以结合索引的缺点来进行阐述:
1.常更新的字段不应该建立索引,因为更新不单单更新记录,还会更新索引,保存索引文件;
2.过滤条件中用不到的字段,不应该建立索引;
3.表数据量很小,不应该建立索引,比如一张班级表,一个班就几十号人,建不建没有任何差别;
4.常进行增删改的表,不应该建立索引;
5.数据重复且分布较均匀的字段,不应该创建索引,比如性别,只有男女,建立没有任何意义等。