为了获得最佳存储效果,您应该尝试在所有情况下都使用最精确的类型。例如,如果整数列用于从1
到
范围内的值99999
,MEDIUMINT UNSIGNED
则 是最佳类型。在表示所有必需值的类型中,此类型使用的存储量最少。
列的所有基本计算(+
、
-
、*
和
/
)DECIMAL
都以 65 位十进制(基数 10)数字的精度完成。请参阅第 11.1.1 节,“数字数据类型语法”。
如果准确性不太重要,或者如果速度是最重要的,那么DOUBLE
类型可能就足够了。为了获得高精度,您始终可以转换为存储在
BIGINT
. 这使您能够使用 64 位整数进行所有计算,然后根据需要将结果转换回浮点值。