MySQL支持的数据类型很多,选择正确的数据类型对于高性能至关重要。下面几个简单的原则都有助于做出更好的选择。float和double类型支持使用标准的浮点运算进行近似计算。浮点类型在存储同样范围的值时,通常比decimal使用更少的空间。float使用4个字节存储,double使用8个字节存储,相比flaot有更高的精度和更大的范围。在考虑对小数进行精确计算时,使用decimal,但在数据量大时,可以考虑使用bigint代替decimal,将需要存储但货币单位根据小数的位数乘以相同的倍数存储。这样可以避免decimal精确计算代价高的问题。这种情况下,MyISAM会将行拆成不同的片段存储,InnoDB需要分裂页来使行可以放进页内。

MySQL数据类型优化原则

MySQL数据类型优化原则