前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Innodb主键包含全部列的情况下,如何组织物理页

Innodb主键包含全部列的情况下,如何组织物理页

作者头像
执生
发布2021-01-06 10:26:28
5570
发布2021-01-06 10:26:28
举报
文章被收录于专栏:立权的博客立权的博客

很简单,和有不是主键的列的格式一样。

实验:在 Mysql 8 中 创建一张主键包含全部列的表

插入 10000 条数据。

因为是字符串做为主键(为了好辨别),所以大小是按照字典序来的

使用工具查看叶子节点结构,下面是部分截图,剩下的部分都是 一样的 level 为0的数据页。

着重看索引叶。也就是 level 为1的B+树叶

查看索引叶(偏移量为4的数据页):

发现偏移量为5的数据页,含有的记录的主键最小值是 sss...0bbbbb...0

偏移量为6的数据页,含有的记录的主键最小值是sss...195bbbb...0

sss...N 这里的N是从0~10000

直接看到第5页的末尾,发现最大的主键值是 aaa...1119bbb...0

看一下第五页的下一个页是多少

发现是 11,第11页的最小行记录是:aaa...123bbb...0

11页是数据页,最小记录确实是112起头

而112 是 1119 字典序的下一个,所以逻辑正确。虽然第11页和第5页不是物理上连续,但是两者逻辑上通过偏移量指针 5 指向 11 ,建立了逻辑联系。

并且块之间的主键大小应该是 递增的。

尽管块内部的主键大小物理可能不是递增。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-01-05 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MySQL
腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档