数据库
首页 > 数据库> > 《MySQL是怎样运行的》笔记

《MySQL是怎样运行的》笔记

作者:互联网

InnoDB记录

InnoDB页介绍

InnoDB会将数据划分为若干个页,以页作为磁盘和内存之间交互的基本单位,InnoDB中页的大小一般为 16 KB。

原因:我们知道读写磁盘的速度非常慢,和内存读写差了几个数量级,如果一条一条的把记录从磁盘上读出来,速度太慢了。

InnoDB行格式

行格式分为四种:Compact、 Redundant、Dynamic 和 Compressed。

Compact格式

一条记录可以分为 额外信息真实数据
image

额外信息分为以下三类:

真实数据

记录的真实数据除了我们自己定义的列的数据以外, MySQL 会为每个记录默认的添加一些隐藏列,具体的列如下:

列名 是否必须 占用空间 描述
row_id 6 字节 行ID,唯一标识一条记录
transaction_id 6 字节 事务ID
roll_pointer 7 字节 回滚指针

其中职业 row_id 不是必须的,在没有自定义主键以及Unique键的情况下才会添加该列。

char()类型字段的存储

对于 CHAR(M) 类型的列来说,当列采用的是定长字符集时,该列占用的字节数不会被加到变长字段长度列表,而如果采用变长字符集时,该列占用的字节数也会被加到变长字段长度列表。

标签:字节,段长度,记录,笔记,列表,变长,MySQL,NULL,怎样
来源: https://www.cnblogs.com/theheboy/p/16540966.html