一、行 有哪些格式?
你可以像下面这样看一下你的mysql行格式设置。
其实mysql的数据行有两种格式,一种就是图中的 compact格式,还有一种是redundant格式。
compact是一种紧凑的行格式,设计的初衷就是为了让一个数据页中可以存放更多的数据行。
你品一品,让一个数据页中可以存放更多的数据行是一个多么激动人心的事,mysql以数据页为单位从磁盘中读数据,如果能做到让一个数据页中有更多的行,那岂不是使用的空间变少了,且整体的效率直线飙升?
官网介绍:compact能比redundant格式节约20%的存储。
compact从mysql5.0引入,mysql5.1之后,行格式默认设置成 compact 。所以本文描述的也是compact格式。
二、紧凑的行格式长啥样?
你肯定晓得表中有的列允许为null,有的列是变长的varchar类型。
那compact行格式是如何组织描述这些信息的呢?如下图: