mysql支持的数据类型很多,选择正确的数据类型对sql的执行性能至关重要。下面是几个简单的原则
1.更小的通常更好
一般情况下,尽量使用可以正确存储数据的最小数据类型,占用的资源少(包括磁盘,内存,CPU缓存等)。但是要确保没有低估存储值的范围,否则要增加数据类型范围,可能带来不必要的麻烦。
2.简单就好
简单的数据类型的操作通常需要更少的CPU周期,例如整型比字符操作代价更低,因字符集和排序规则等是字符比整型更复杂。
3.尽量避免NULL
很多表都包含可为空值的列,即使程序不需要保存NULL也会如此,因为NULL是列(可以理解成字段)的默认属性。通常指定列为 NOT NULL最好。
在查询中包含可为NULL的列时,会使索引变得更复杂,可为空的列需要更多的存储空间。当可为NULL的列被索引时,索引记录也会增加额外的字节,有时也会使SQL语句也更复杂化。如果计划对在列上建索引,尽量设计成NOT NULL。