前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【说站】mysql页的概念分析

【说站】mysql页的概念分析

作者头像
很酷的站长
发布2022-11-23 15:33:54
3660
发布2022-11-23 15:33:54
举报
文章被收录于专栏:站长的编程笔记

mysql页的概念分析

说明

1、页是 InnoDB 中管理数据的最小单元。Buffer Pool 中存的就是一页一页的数据。

2、往MySQL插入的数据最终都是存在页中的。在 InnoDB 中的设计中,页与页之间是通过一个双向链表连接起来。

数据页构成

File Header

描述页的校验和,页号,上/下页的指针,页的类型,页属于哪个表空间等信息

Page Header

记录了有多少个slot,空闲空间的偏移量,已经存储了多少条数据等信息

Infimum+Supremum

这两个并非是用户插入的数据,是虚拟列,Infimum代表着当前页中最小的数据行,Supremum代表当前页中数据行(按照主键排序的大小),User records记录都位于它们之间,并且通过每条记录的行格式中的一些属性(next_record)形成按照主键排列顺序的数据链表,再加上最小的虚拟行Infimum与Supremum就组成了当前页的数据链表。

User records

用户插入的数据行

Free sparce

当前未存放用户数据的空间

Page Directory

如果一行数据长度比较小,比如表只有一个int类型的id字段,那么一个页中会存放非常多的行记录。如果查询数据就需要遍历页中所有的记录取出满足select条件的数据,这样的话遍历速度会比较慢。Page Directory存放了很多slot,slot存放着每个组中数据行的偏移量,数据链表是按照主键排列有序的,所以Page Directory可以使用二分查找法快速定位要插入与快速查找的数据在页中的位置.组的生成逻辑三言两语说不清楚,可以直接理解成,对于当前页中的数据行进行横向划分,大部分组中数据有4-8行。

File Trailer

存储了校验和LSN,与File Header的校验一起校验数据的准确性。

以上就是mysql页的概念分析,希望对大家有所帮助。更多mysql学习指路:MySQL

推荐操作系统:windows7系统、mysql5.8、DELL G3电脑

收藏 | 0点赞 | 0打赏

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • mysql页的概念分析
相关产品与服务
云数据库 SQL Server
腾讯云数据库 SQL Server (TencentDB for SQL Server)是业界最常用的商用数据库之一,对基于 Windows 架构的应用程序具有完美的支持。TencentDB for SQL Server 拥有微软正版授权,可持续为用户提供最新的功能,避免未授权使用软件的风险。具有即开即用、稳定可靠、安全运行、弹性扩缩等特点。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档