这完全取决于.不同的数字类型有优点和缺点:
如果您绝对需要高度/权重精确到一定数量的小数位并且不受浮点数可能导致的问题的影响,请使用decimal()(十进制需要两个参数,数量> 1的数字和数字数字<1,因此十进制(5,2)将能够存储低至0.01和高至999.99的数字.固定精度数学有点慢,并且由于执行它所涉及的算法,存储它们的成本更高.绝对必须存储货币值或您打算进行数学计算的任何值,并将货币作为数字().例如,如果您为婴儿按每磅或每米支付费用,则需要使用数字().
如果您愿意接受某些数值不如其他数字值精确的可能性,请使用FLOAT或DOUBLE,具体取决于精度和您存储的数字大小.浮点数是基于计算机数学运算方式的近似值,我们使用小数点表示超出10的幂,计算机在base2中进行数学计算,两者不能直接比较,因此为了解决这些问题而开发的算法不需要%精度,但是通过使用整数集合对其进行建模无法实现更高的速度.
欲了解更多信息:
http://dev.mysql.com/doc/refman/5.0/en/numeric-types.html http://dev.mysql.com/doc/refman/5.0/en/fixed-point-types.html http: //dev.mysql.com/doc/refman/5.0/en/floating-point-types.html