新闻详情

新闻详情

首页 / 资讯中心 / 详情

3.3.1 主键索引

发布时间:2026/9/21 10:14:10来源:尧图网络
3.3.1 主键索引
主键索引(Primary Key Index)在 InnoDB 中是聚簇索引,其执行流程直接关系到查询性能的核心。下面以 InnoDB 为例,深入拆解主键索引从接收 SQL 到返回数据的完整内部过程。🎯 一、主键索引的本质(重温关键点)主键索引是一棵B+ 树,叶子节点直接存储整行数据,所以数据即索引,索引即数据。内部节点只存主键值 + 子页指针,用于导航。叶子节点按主键顺序形成双向链表。由于数据按主键有序存放,通过主键查询可以一次索引搜索直接获得完整行,无需回表。🔄 二、等值查询执行流程以 SQL 为例:SELECT*FROMusersWHEREid=1001;假设id是INT型主键,users表为 InnoDB 引擎。1. 服务层处理(简述)连接器接收语句,解析器生成解析树,优化器确认直接使用主键等值查询(成本最低),生成执行计划。执行器调用引擎接口ha_rnd_init和ha_rnd_next或直接索引读取。2. InnoDB 引擎内部详细步骤第一步:从 Buffer Pool 或磁盘加载根页InnoDB 会首先检查根页(聚簇索引的根节点)是否已在Buffer Pool中。如果不在,则从磁盘的独立表空间.ibd文件(或系统表空间)中加载根页到 Buffer Pool。根页是 B+ 树搜索的起点。第二步:B+ 树垂直导航(从根到叶)内部节点页包含若干键值和子页指针,按顺序排列。引擎使用二分查找(借助页内的 Page Directory 槽)定位到可能包含id=1001的子页指针。例如,根页的键为[50, 100, 150],1001大于 150,则沿着最右侧子指针进入下一层内部节点。这个过程重复,直到达到叶子节点页。通常树高为 2~4 层,因此只需 2~4 次页访问(大部分在内存中)。第三步:叶子页内定位行记录到达叶子页后,引擎同样利用Page Directory进行二分查找,快速定位到第一条可能等于 1001 的记录位置。然后沿着页内单向记录链表(按主键顺序)扫描,找到id=1001的那条记录(如果是等值唯一主键,找到即止)。叶子页的记录包含了该行的全部列,所以此时已经获得了完整行。第四步:权限检查与返回InnoDB 将行数据返回给服务层执行器。执行器再次检查查询权限(若预处理未做),通过后返回给客户端。完整流程图:
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

3步搞定宏源证券官方网下载与API变更 2026/9/21 22:49:13

3步搞定宏源证券官方网下载与API变更

3步搞定宏源证券官方网下载与API变更 版本升级后 API 全变了,是不是让你抓狂?以前那套 getQuote() 直接调用的代码,现在全报 404 Not Found ,或者返回的数据结构里字段名全换了。别急,这篇 一文搞懂…

阅读更多 →
Ubuntu离线安装RTL8852BE驱动:从依赖到DKMS完整指南 2026/9/21 22:49:06

Ubuntu离线安装RTL8852BE驱动:从依赖到DKMS完整指南

前几天给一台闲置笔记本装 Ubuntu 20.04,系统装完了,网卡却变成了一块废铁。lspci里清清楚楚写着Realtek Semiconductor Co., Ltd. Device b852,也就是很常见的 RTL8852BE Wi-Fi 6 网卡,可 Ubuntu 20.04 默认的 5.4 内核压根不认识…

阅读更多 →
3个坑让单反价格选型难?手写实现配置避坑指南 2026/9/21 22:49:00

3个坑让单反价格选型难?手写实现配置避坑指南

3个坑让单反价格选型难?手写实现配置避坑指南 配置环境就卡半天,是不是你的常态?明明照着教程一步步来,结果依赖冲突、版本不对,折腾一下午还没跑通。这种痛苦,老手都懂。今天不聊虚的,直接上干货,通过 手写实现…

阅读更多 →
Wave Summit 2020源码剖析:从入门到精通的避坑指南 2026/9/21 22:48:46

Wave Summit 2020源码剖析:从入门到精通的避坑指南

Wave Summit 2020源码剖析:从入门到精通的避坑指南 是不是也这样?教程看了几百个,代码敲了上千行,真让你从零搭个项目,脑子一片空白。这种“手眼分离”的尴尬,在Wave Summit…

阅读更多 →
3个坑帮你搞定FocusFrame:版本升级后API全变了的最佳实践 2026/9/21 22:48:40

3个坑帮你搞定FocusFrame:版本升级后API全变了的最佳实践

3个坑帮你搞定FocusFrame:版本升级后API全变了的最佳实践 上周刚把项目从旧版升级到新版,一跑测试直接崩了。报错信息红彤彤一片,核心问题就一个: 版本升级后 API 全变了 。很多老铁在 Stack Overflow…

阅读更多 →
腾讯拍拍面试必问:3招讲透底层逻辑 2026/9/21 22:48:40

腾讯拍拍面试必问:3招讲透底层逻辑

腾讯拍拍面试必问:3招讲透底层逻辑 官方文档动辄几百页,翻到第二页就晕头转向?别慌,这很正常。 面试必问的腾讯拍拍架构题,往往就藏在你没注意的边角料里。 今天咱们不背八股文,直接拆骨架,用3分钟把核心逻辑刻进脑子。…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞