mysql - BIT 是否填充超过 1 个字节的未使用空间?

标签 mysql bit diskspace variable-length space-efficiency

我的表可能有非常大的行长度。如果我没看错的话,值为 1BIGINT 将占用全部 8 个字节。 http://dev.mysql.com/doc/refman/5.5/en/storage-requirements.html

这看起来效率极低。

BIT 的作用是否相同,还是可变长度混合体?我知道使用少于 1 个完整字节仍会消耗 1 个字节的磁盘空间,除非有其他 BIT,例如,8 个 BIT 1 列将仅如果我读得正确的话,占用 1 个字节。

换句话说,如果我有一个 BIT 41 且没有其他 BIT 列,则该列的 0 行是否会消耗 1字节或完整的 6 个字节,而不是 2^41-1,后者当然会占用完整的 41 位?

最佳答案

According to the docs ,看起来你运气不好:一点总是你指定的大小。事实上,it will most likely be larger.您可以考虑将您的位序列化为 BLOB 字段,因为它们是可变长度的。

关于mysql - BIT 是否填充超过 1 个字节的未使用空间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15538713/

相关文章:

mysql - 计费触发器的数据库设计

python - Django 操作错误 1405 在syncdb上

计算 C 中一个整数占用多少位

Java整数索引到位位置

java - FileOutputStream 空间不足时关闭

mysql - 无法建立远程mysql连接

javascript - 用 0xFFFF 屏蔽 16 位值

postgresql - 在不锁定表的情况下回收磁盘空间 - PostgreSQL 10

hadoop - HDFS:添加新节点后如何释放空间/重新平衡?

mysql - 将 IF 放入选择查询中