数据库原理02|索引

261 阅读2分钟

索引是关系数据库中对某一列或多个列的值进行预排序的数据结构;通过使用索引,可以让数据库系统不必扫描整个表,而是直接定位到符合条件的记录,这样就大大加快了查询速度。

聚集索引和辅助索引

  • 聚集索引是指数据库表行中数据的物理顺序与搜索码索引顺序相同;一个表只能有一个聚集索引,因为一个表的物理顺序只有一种情况
  • 辅助索引则是索引项指向一个或多个匹配数据记录,并且辅助索引必须是稠密索引;辅助索引能偶提高非主码的查询效率

稠密索引和稀疏索引

  • 稠密索引:每个数据记录都有索引项指向,而在稠密非聚集索引中索引项会指向一条或多条数据记录
  • 稀疏索引:索引项指向部分数据记录,并且只有聚集索引才能使用稀疏索引

什么是覆盖索引?

  • 如果数据库索引包括被查询字段的值,则被称为覆盖索引;通过这种方式能够减少数据访问量从而提高查询效率,而不需要进行回表操作。

联合索引

  • 两列或多列上的索引被成为联合索引,并且联合索引符合最左匹配原则;所以我们通常将使用最频繁的字段放在最左侧。

延迟关联

  • 对于延迟关联这一SQL优化方式,比较常见是排序+分页查询,特别是起始记录比较大的时候;这时候可以先通过覆盖索引返回需要的主键,然后再通过索引获取对应的表数据。