Index(索引)
对一列或多列进行排序从而加速检索的结构
类型:
- 唯一索引:不允许任何两行有相同的索引值
注意: 为获得最佳性能结果,建议改用主键或唯一约束 - 主键索引:自动创建
- 聚集索引(clustered):表中行的物理存储顺序与索引的键值顺序相同,检索速度更快(有些数据库的主键默认为聚集索引)
注意: 最好在创建表时创建聚集索引,否则改变数据的存储位置会损耗较大 - 非聚集索引(unclustered):在检索未覆盖的列时需要二次检索,占用很大的开销,可以建立复合索引避免回表二次检索
优点:
- 提高系统性能
- 加快数据的检索速度
- 加速表和表之间的连接(在一些外键列上建立索引)
- 通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性
缺点:
- 占用更多存储空间,建立索引需要额外时间
- 降低修改时的性能
适用情况:
索引适合用于检索频率较高的列、作为主键和外键的列、需要排序的列
不适合数据量太少的列(如性别),也不适合数据量太大的列(如text、 image、bit等数据类型)
关于效率的对比之后再更新吧