我阅读了关于Mysql十进制类型大小的在线文档:
剩余数字 | 字节数 |
---|---|
0 | 0 |
1–2 | 1 |
3–4 | 2 |
5–6 | 3 |
7–9 | 4 |
DECIMAL
由一个库实现,该库假设每个字节压缩2位数字或每个32位整数压缩9位数字。3个字节无法容纳7位数字;9将适合4个字节。该库最多允许64位(或者可能只有63位(数字,这是一个相当大的值。
在DECIMAL(M,N)
中,数据是基于M和N来限制的。无论限制为7还是9,性能都不会有什么不同。即使是这样,与更大的问题(例如获取行(相比,工作量也很小。
提示:一个简单的经验法则:DECIMAL(M,N)
占用大约M/2个字节。
货币DECIMAL(11,2)
在5个字节中允许高达10亿美元/欧元等。我认为使用(10,2(或(9,2(没有任何优势,每个都是5个字节。