索引优缺点
优点:
1:创建唯一性索引,保证数据库表中每一行数据的唯一性
2:大大加快表的检索速度,是创建索引的主要原因
3:加速表与表之间的链接,特别是在实现数据的参照完整性方面特别有意义
4:在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间
5:使用索引,可以在查询的过程中使用优化隐藏器,提高系统性能
缺点:
1:索引占用磁盘空间,除了数据表要占用数据空间之外,每个索引还要占用一定的物理空间。如果要建立聚簇索引,需要的空间就更大
2:对于要写入的表,如,insert,update,delete操作,索引会降低他们的速度,这是因为不仅要把改动数据写入数据文件,还要把改动写入索引文件
3:索引也要动态维护,创建索引和维护索引要消耗时间,这种时间随数据量的增加而增加,降低了数据的维护速度
特点:
1:
分类:
按记录存储顺序分:聚集索引和非聚集索引
聚集索引:是一种指明了数据物理存储顺序的索引,行的物理存储顺序与索引顺序完全相同,
非聚集索引:非聚集索引不用将物理数据页的数据按列排列,非聚集索引的叶节点存储了组成非聚集索引的关键字值和行定位器,非聚集索引不会影响数据表中记录的实际存储顺序,仅仅记录指向表中行位置的指针,
索引默认为:非聚集索引,可以建多个
一般聚集索引用于范围搜索,是表数据的实际存储顺序,一个表只能建一个聚集索引哦!
按索引行是否有相同值分为:普通索引,唯一索引
普通索引:两行可以有相同的索引值
唯一索引:两行不能有相同的索引值
按字段数分为:简单索引和复合索引
简单索引:基于一个字段的索引
复合索引:基于多个字段的索引,他们也可同时为,唯一索引
按数据库对象分:表索引,视图索引
建索引的场合:
1:有主键时
2:频繁搜索或使用列时
3:字段数据更新频率较低,查询使用频率较高且存储大量重复值时,建议使用聚簇索引
4:经常同时存取多列且每列都含有重复值时,建议使用组合索引
---不建索引
5:很少或从不在查询中使用的列
6:行数很少的列