mysql InnoDB记录结构

先巩固一下计算机的基础概念:

位 (计算机术语)
数据存储的最小单位。在计算机中的二进制数系统中,位,简记为b,也称为比特,每个0或1就是一个位(bit)。计算机中的CPU位数指的是CPU一次能处理的最大位数。

计算机使用电流高低来标识0和1,一个位可以标识0或者1。通过不同的位组合就可以表示不同的含义。

  1. 字节

字节(Byte )是计算机信息技术用于计量存储容量的一种计量单位,作为一个单位来处理的一个二进制数字串,是构成信息的一个小单位。最常用的字节是八位的字节,即它包含八位的二进制数。

计算机想要表示255,先转成二进制1111 1111,然后一个字节包含8位,所以可以很方便用一个字节表示从0到255。

  1. 字符集

字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,就需要进行字符编码,以便计算机能够识别和存储各种文字。中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。

接下来INNODB的记录结构:

1.InnoDB 是一个存储引擎,负责和磁盘打交道,读取我们需要的数据和写入工作。

2.InnoDB读取的单位是页。数据是存储在磁盘上的,我们处理时是需要加载到内存中的,如果按记录的格式,以行为单位,一条条的读,太慢了。所以innodb采用页作为读取的基础单位,也就是说最少读取1页数据到内存,最少写入1页数据到磁盘。1页的大小是16k。至于为什么是16k ,官网上有解释(The default 16KB page size or larger is appropriate for a wide range of workloads, particularly for queries involving table scans and DML operations involving bulk updates)。

InnoDB行格式

在这里插入图片描述

发布了33 篇原创文章 · 获赞 1 · 访问量 8313

猜你喜欢

转载自blog.csdn.net/u012914309/article/details/103158073