尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
聚簇索引、非聚簇索引与回表
一、聚簇索引Clustered Index核心特点索引和数据放在一起叶子节点直接存整行数据。InnoDB 里主键索引就是聚簇索引。B 树的叶子节点存放的是完整的一行数据找到索引就等于找到了整行不需要再回表类比像一本字典正文本身就是按拼音排序的你按拼音翻到那一页字和解释都在那一页。如果没有主键怎么办InnoDB 会这样选聚簇索引有主键 → 用主键没主键 → 选第一个唯一非空索引都没有 → 自动生成一个隐藏的row_id做聚簇索引所以每张 InnoDB 表一定有且只有一个聚簇索引。二、非聚簇索引二级索引 / 辅助索引核心特点索引和数据分开叶子节点存的是主键值不是整行数据。除了聚簇索引你建的其他索引都是非聚簇索引也叫二级索引。B 树的叶子节点存放的是索引列的值 主键值通过二级索引找到的只是主键不是完整数据类比像书的目录目录只告诉你第 100 页具体内容还得去正文聚簇索引里翻。举例表usersid主键nameage1张三202李四25聚簇索引主键 id叶子节点存(1, 张三, 20)、(2, 李四, 25)非聚簇索引在 name 上建索引叶子节点存(张三, 1)、(李四, 2)只存 name 和主键 id三、回表Back to Table回表 通过二级索引找到主键后再拿主键去聚簇索引里查一次完整数据。什么时候会回表SELECT * FROM users WHERE name 张三;执行过程走name的二级索引找到name 张三对应的主键 id 1拿id 1去聚簇索引里查拿到整行(1, 张三, 20)返回结果第 2 步就是回表。怎么判断有没有回表用EXPLAIN看Extra有Using index→ 用了覆盖索引不回表只有Using where没有Using index→可能回表四、怎么避免回表覆盖索引覆盖索引查询需要的列全都在索引里不用回表。-- 建联合索引 CREATE INDEX idx_name_age ON users(name, age); -- 查询列都在索引里 SELECT name, age FROM users WHERE name 张三;索引(name, age)的叶子节点存(张三, 20, 1)查询要的name、age都在索引里直接返回不用回表EXPLAIN里会显示Extra Using index。注意如果写成SELECT *要的列超出了索引范围就还是要回表。
RELATED

相关推荐

gdb与cgdb

gdb与cgdb

1.gdb与cgdb介绍与安装我们在使用vim编写完代码之后,想要和VS那样调试代码看看有没有什么问题,这个时候就需要gdb与cgdb来协助了。gdb(GNU Debugger)是 GNU 项目提供的一种调试工具,用于调试 C、C 和其他编程语言编写的…

📅 2026/10/15 4:02:51
香味油墨与普通油墨有什么区别?一文讲清

香味油墨与普通油墨有什么区别?一文讲清

摘要:香味油墨作为功能性特种油墨,与普通油墨在配方组成、印刷工艺、成品性能和应用场景上存在明显差异。本文从多个维度系统对比两者的区别,帮助印刷厂和品牌方在选型时做出合理判断。一、引言:为什么要区分香味油墨与普通油墨 在…

📅 2026/10/15 4:02:51
JavaScript 的错误处理——程序出错时该怎么办

JavaScript 的错误处理——程序出错时该怎么办

引言没有人能写出永远不出错的代码。真正区分水平的,不是谁不出错,而是出错之后怎么办。错误处理做得好,程序能优雅降级、给出有用提示、快速定位问题;做得差,用户看到白屏,开发者对着日志发呆。这篇文章不…

📅 2026/10/15 4:02:51
MORE NEWS

更多资讯

📰

PyTorch核心设计原理与工业级训练实践

1. 这不是“学个框架”那么简单:PyTorch到底在解决什么真实问题?很多人第一次听说PyTorch,是在某次技术分享会上听到“动态图好调试”“API设计更Pythonic”这类评价;也有人是从Kaggle竞赛排行榜上看到大量Top方案的代码仓库里&am…

📰

从零搭建大学生就业信息管理系统:需求、设计到实现

1. 这个系统解决什么问题:需求拆解与功能边界大学生就业信息管理系统我接触得比较多,每年都会看到不少计算机相关专业的同学拿它当毕设选题。第一反应往往是“这不就是一个信息管理的增删改查吗”,但真正动手做起来才会发现,角色权…

📰

TensorFlow全流程实战:从环境搭建到模型部署的完整链路

这不是一篇入门教程,也不是API文档搬运。从我第一次在项目里跑通TensorFlow,到现在能用它顺畅地完成从数据准备到模型部署的全流程,中间绕了很远的路,也踩了不少坑。这篇文章把你真正会用到的那些东西——环境、数据、模型、训练、…

📰

airllm:低显存机器跑超大语言模型的实践指南

实际测试完成的部署方案:如何在低内存机器上跑超大容量语言模型最近 AI 本地部署群里讨论最多的一个话题,不是新模型的评测,而是“我到底要多少显存才能跑得动这些模型”。动不动几十GB的权重,让很多人的消费级电脑直接劝退。如果…

📰

RAR归档文件解压全指南:从格式识别到批量处理与避坑

简介:GC-PowerStation 2019中文版是面向表面贴装工艺工程师的坐标导出与光绘文件处理工具,支持导入电子表格、文本等多种坐标文件格式,并完成多层光绘文件的预览、合并与校验,帮助电子制造从业者在生产前检查设计准确性&#xff0…

📰

易语言乐玩插件窗口句柄获取与后台绑定模式实战指南

1. 窗口句柄获取与后台绑定模式的核心逻辑拆解1.1 为什么窗口句柄是一切自动化操作的起点做桌面自动化或者辅助工具开发,绕不开的第一个坎就是拿到目标窗口的句柄。你可以把窗口句柄理解成操作系统给每个窗口发的一张身份证号,它是一个长整型数值&#x…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬