什么是覆盖索引 ?

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

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

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

这种就叫覆盖索引。

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

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

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

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

相关推荐
众链网络6 分钟前
Agent 重试的工程解法:幂等、断点续跑与熔断怎么落地
java·前端·数据库·人工智能
oradh15 分钟前
Oracle 索引维护操作总结
数据库·oracle
for_ever_love__16 分钟前
MySQL Online DDL 完全指南:INSTANT/INPLACE/COPY 三种算法、MDL 锁事故与 gh-ost 实战
数据库·mysql·ddl·online·gh-ost·锁表·加字段
for_ever_love__27 分钟前
MySQL 子查询、派生表与 CTE 优化:半连接、物化和递归实战
数据库·mysql·优化·as·子查询·with·cte
DBA_G43 分钟前
GBase 8c分布式数据库客户端工具 gsql
数据库·分布式
用户5611610232731 小时前
量化笔记程序代码分析,逐笔数据、五档快照和分钟行情代码分析
数据库
房开民1 小时前
通俗总结 Octree(八叉树)
java·服务器·数据库
星云低代码开发平台1 小时前
AI 连接器运行健康度:指标、异常恢复和联调清单
大数据·运维·网络·数据库·人工智能·mcp
鱼宵2 小时前
LangChain4j 生产化改造:记忆落 Redis、向量落 ES,重启再也不丢
数据库·redis·elasticsearch·langchain4j
星云API技术笔记2 小时前
企业微信外部群机器人实战:多人同时咨询时,如何准确匹配消息与回复对象
数据库