选择优化的数据类型,尽可能选择能够正确储存的最小数据类型优化
好比,日期应该使用MySQL内建类型,而不是字符串,datetime 和 timestamp,timestamp只使用datetime一半的储存空间,而且具备根据时区变化的自动更新能力,可是其容许的时间范围要小的多排序
ip的储存使用整型而不是字符串, 由于简单数据类型比字符操做代价更低,由于字符集和排序规则是字符的比较 比 整型的比较更复杂。ip
整数类型可选 unsigned属性,无符号的正数上限可比有符号提升一倍,由于其不准负值,所占有的空间都用来存储正数了ci
int(11) ,bigint(20) 可为整型指定宽度,但这并不能限制其取值范围,只是规定了与MySQL交互时 所显示的字符个数字符串
decimal 用于高精度小数运算,其精确计算代价较高,多用于财务数据(在MySQL 5.0以后)date
double,float 用来进行浮点运算,其会损失部分精度,占用空间较decimal小,double < float数据类型
较好的解决方式为,把小数乘以对应的倍数,以转换成整数类型(int,bigint等)来储存float