我的表可能有非常大的行长度。如果我没看错的话,值为 1
的 BIGINT
将占用全部 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/