Mysql之B+树索引详解(2)——数据页结构

前言

本节介绍Mysql中InnoDB引擎中存储数据的基本结构:数据页,来说明数据和索引是如何存储和组织的,了解了数据页的结构,我们就能明白数据如何存储的,如何组织成一颗B+树,也就明白为什么推荐使用自增Id作为主键是插入、读取性能最高的主键方案。

数据页结构

数据页是InnoDB管理存储空间的基本单位,一个页的大小默认是16KB,划分为多个部分,每个部分存储特殊的数据,数据页结构如下:
在这里插入图片描述
用户的数据就存放在User Records部分,Free Space代表还未使用的空间,Page Directory是对数据的目录索引,稍后会介绍。可以看到,实际用于存储用户数据的空间大小为16KB-128B = 16256B,其中的真正用于存放数据的空间还要更小一点,不过不用在意这些细节,我们重点关注数据在里面是如何组织的。

数据行是如何存的

我们首先看下一条数据在User Records中存了哪些信息,这里我们不去讨论各种行记录格式细节,基本大同小异,只关注重点的记录头信息:
在这里插入图片描述
记录头信息结构:
在这里插入图片描述
我们重点介绍其中的heap_no和next_record字段:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值