覆盖索引是指一个索引包含或者覆盖了所有需要查询的字段的值,不需要根据索引回表查询数据
覆盖索引必须要存储索引列的值,因此MySQL只能用BTree索引做覆盖索引
- 索引条目通常远小于数据行大小,极大减少数据访问量
- 因为索引按照顺序存储,所以io密集型查询会比随机从磁盘读取每一行数据的io少的多
- innoDB使用聚簇索引,innoDB的二级索引在叶子节点保存了主键,如果二级主键能覆盖查询就可以避免对主键索引的二次查询
例:
覆盖索引是指一个索引包含或者覆盖了所有需要查询的字段的值,不需要根据索引回表查询数据
覆盖索引必须要存储索引列的值,因此MySQL只能用BTree索引做覆盖索引
例:
本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。