什么是覆盖索引 ?

走当前索引就足够,而无需回表就能找到所有数据,就叫覆盖索引。

比如 key1 上有索引。(它是一个普通的二级索引)。

那么select key1 from s1 where key1 = 'a'

这种就叫覆盖索引。

表现就是explain时, Extra 那里显示 using Index

为啥无需回表?因为b+树子节点上,存了该索引字段和主键。而此时找的就是该字段,所以无需回表使用聚簇索引,这种就叫覆盖索引。

如果写成select * from s1 where key1 = 'a'

这种就不是覆盖索引,因为其他字段没有索引,它需要回表(回去使用聚簇索引,再找一遍数据)。表现就是explain时,Extra 那里 是null。

相关推荐
yuxuan66999 分钟前
【Docker】使用docker启动禅道出现mysql.sock 文件已经存在的bug
mysql·docker·centos·bug
honortech10 分钟前
外部连接 redis-server 相关配置
数据库·redis·缓存
云计算小黄同学10 分钟前
k8s中的服务通过secret访问数据库的实际案例
数据库·阿里云·kubernetes
不会写程序的未来程序员10 分钟前
Redis 的内存回收机制详解
数据库·redis·缓存
一过菜只因19 分钟前
使用Junit测试
服务器·数据库·junit
啊巴矲20 分钟前
小白从零开始勇闯人工智能Linux初级篇(MySQL库)
数据库·mysql
StarRocks_labs25 分钟前
从小文件困局到“花小钱办大事”:StarRocks 存算分离批量导入优化实践
数据库·starrocks·compaction·memtable·本地磁盘 spill
帝吃藕和33 分钟前
MySQL 知识点复习- 6.MySQL语法顺序
数据库·mysql
计算机学姐33 分钟前
基于SSM的生鲜食品商城系统【2026最新】
java·vue.js·后端·mysql·java-ee·tomcat·mybatis
不会写程序的未来程序员34 分钟前
Redis 主从同步原理详解
数据库·redis·缓存