什么是覆盖索引 ?

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

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

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

这种就叫覆盖索引。

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

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

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

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

相关推荐
云和数据.ChenGuang1 分钟前
达梦数据库安装服务故障四
linux·服务器·数据库·达梦数据库·达梦数据
尽兴-1 小时前
MySQL 8.0主从复制原理与实战深度解析
数据库·mysql·主从复制
Mr_sun.1 小时前
Day04——权限认证-基础
android·服务器·数据库
百锦再1 小时前
国产数据库现状与技术演进
数据库·python·plotly·flask·virtualenv·pygame·tornado
煎蛋学姐1 小时前
SSM学生会综合管理系统8berj(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面
数据库·计算机毕业设计·ssm 框架·学生会综合管理系统
YongCheng_Liang2 小时前
MySQL 高级特性深度解析:从索引优化到高可用架构
运维·数据库·mysql
<花开花落>2 小时前
MySQL 数据备份流程化
mysql·systemd
Coder_Boy_2 小时前
基于SpringAI的在线考试系统-考试模块前端页面交互设计及优化
java·数据库·人工智能·spring boot
dblens 数据库管理和开发工具2 小时前
QueryNote V1.2 发布:从个人思考空间,迈向团队协作与内容交付
数据库·dblens
砚边数影2 小时前
Java基础强化(三):多线程并发 —— AI 数据批量读取性能优化
java·数据库·人工智能·ai·性能优化·ai编程