MySQL DECIMAL存储和最大位数

时间:2014-09-14 19:29:14

标签: mysql storage

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

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

这是我用来查找每张桌子占用的空间 SELECT table_name,((data_length + index_length))为“B中的大小”FROM information_schema.tables WHERE table_schema =“db_name”

由于

1 个答案:

答案 0 :(得分:2)

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