文章目录
-
- 1、为什么一行数据里的NULL值不能直接存储?
- 2、NULL值是以二进制bit位来存储的
- 3、结合小小案例来思考一行数据的磁盘存储格式
- 4、磁盘上的一行数据到底如何读取出来的?
- 5、今日思考题
1、为什么一行数据里的NULL值不能直接存储?
之前我们已经给大家讲了在数据库里一行数据中如果有VARCHAR(10)之类的变长字段,那么他的存储和读取会有什么问题,以及为了解决这个问题,为什么要给磁盘上存储的每一行数据都加入变长字段长度列表。
今天我们继续给大家讲解在磁盘上存储的一行数据里另外一块特殊的数据区域,就是NULL值列表。
这个所谓的NULL值列表,顾名思义,说的就是你一行数据里可能有的字段值是NULL,比如你有一个name字段,他是允许为NULL的,那么实际上在存储的时候,如果你没给他赋值,他这个字段的值就是NULL。
-
那么假设这个字段的NULL值我们在磁盘上存储的时候,就是按照“NULL”这么个字符串来存储,是不是很浪费存