【问题标题】:MySQL DECIMAL storage and max number of digitsMySQL DECIMAL 存储和最大位数
【发布时间】:2014-11-08 08:06:00
【问题描述】:

这确实是一个快速的问题,但我真的找不到答案。 当您将像 57 这样的数字存储在最多 65 位的十进制列中时,是否需要 65 位的空间来存储它?

我很担心,因为我用 4 个 DECIMAL 列检查了我的表使用的空间,它说 65536 字节。然后我决定将所有 DECIMAL 列的最大位数设置为 40。然后使用的空间达到 49152 字节。再三考虑,我决定为四列中的两列设置最大 15 位长度,并且使用的字节数保持不变 (49152)。

这是我用来查找每个表占用的空间 SELECT table_name, ((data_length + index_length)) as "size in B" FROM information_schema.tables WHERE table_schema = "db_name"

谢谢

【问题讨论】:

    标签: mysql storage


    【解决方案1】:

    每个数字将占用相同的空间。根据文档:http://dev.mysql.com/doc/refman/5.6/en/precision-math-decimal-characteristics.html 每 9 位数字 4 个字节 + 其余数字 0-4 个字节。所以对于 65 位数字,它应该是 7*4 + 1 = 29 个字节。

    【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 2014-11-30
    • 2016-06-18
    • 1970-01-01
    • 2019-11-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多