概要
参考文档:https://blog.youkuaiyun.com/m0_54187478/article/details/134167918
整体架构流程
技术名词解释
覆盖索引
什么是覆盖索引?
覆盖索引是指一个索引包含了查询语句所需的所有数据,不仅能够提供索引的搜索能力,还可以完全覆盖查询需求,避免了回表操作(即根据索引查找到主键,再根据主键获取数据的额外操作),从而提高查询性能和效率。
回表操作
回表操作指的是在通过索引定位到行后,还需要通过主键再去表中检索数据的操作。覆盖索引避免了这种额外的操作,减少了 I/O 消耗,提高了查询效率。
技术细节
优势:
- 性能优化: 覆盖索引减少了查询的 I/O 操作,大大提高了查询的性能。
- 减少磁盘访问: 由于索引数据通常比原始数据小,使用覆盖索引可以减少需要读取的磁盘页数。
- 减少内存消耗: 可以在较小的内存中缓存更多的数据页,提高了缓存的效率。
小结
面试题:
1.覆盖索引的定义
2.为什么使用覆盖索引能够避免回表
答: 覆盖索引中,索引本身包含了查询语句中涉及的所有字段,避免了需要额外去主键索引中查找的操作。