覆盖索引

覆盖索引是指一个索引包含或者覆盖了所有需要查询的字段的值,不需要根据索引回表查询数据
覆盖索引必须要存储索引列的值,因此MySQL只能用BTree索引做覆盖索引

  • 索引条目通常远小于数据行大小,极大减少数据访问量
  • 因为索引按照顺序存储,所以io密集型查询会比随机从磁盘读取每一行数据的io少的多
  • innoDB使用聚簇索引,innoDB的二级索引在叶子节点保存了主键,如果二级主键能覆盖查询就可以避免对主键索引的二次查询

例:

MySQL 覆盖索引详解

posted @ 2022-03-11 16:57  张三丰学Java  阅读(862)  评论(0编辑  收藏  举报