登录
首页 >  数据库 >  MySQL

InnoDB 中空列如何节省存储空间?

时间:2024-10-31 12:40:08 334浏览 收藏

你在学习数据库相关的知识吗?本文《InnoDB 中空列如何节省存储空间?》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!

InnoDB 中空列如何节省存储空间?

InnoDB 中空列的存储占用

InnoDB 中,空列的存储占用方式与我们通常的认知不同。与其他数据库不同,InnoDB 不会为 null 值分配字节。而是采用称为「空值列表」的技巧。

空值列表机制

空值列表本质上是一个字节数组。每个字节中的每个比特(bit)代表一个可空列。若比特为 0,则代表该列为空;若比特为 1,则代表该列非空。

空列的存储占用

如果一个 long long 类型的列为空,那么它在空值列表中只占用一个比特,即 1/8 字节。因此,它实际上不会浪费 8 个字节,而是节省了大量存储空间。

需要注意的是,如果一张表中有许多空列,空值列表可能会变得很大。为了解决这个问题,InnoDB 采用了压缩技术来减小空值列表的大小。

本篇关于《InnoDB 中空列如何节省存储空间?》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于数据库的相关知识,请关注golang学习网公众号!

相关阅读
更多>
最新阅读
更多>
课程推荐
更多>