23.1 优化数据类型
MySQL中不同的数据类型长度不同,在磁盘上所需要的存储空间不同,如果数据库中使用了不合理的数据类型,不仅会造成存储空间的浪费,而且在数据插入与读取时,还会造成MySQL性能低下。所以在设计数据表时,尽量使用合理的数据类型。
23.1.1 使用数据类型的基本原则
选择MySQL的数据类型时,通常有一定的原则可供参考。
1.更小的数据类型更好
如果没有特殊情况,尽量使用可以正确保存数据的最小数据类型,因为更小的数据类型会在插入与读取数据时更快,占用的内存空间和磁盘空间更小,CPU处理数据的周期也更短。例如,如果数据表中的数据能够使用TINYINT类型存储数据,就不要使用INT类型。
2.使用简单的数据类型
在设计数据表时,尽量为字段设计简单的数据类型。例如,如果能用整数类型存储数据时,就尽量不要使用字符串类型。因为字符串的比较规则比整数复杂,比较字符串时,需要将字符串的每一个字符转化成ANSI码后再进行比较,这无疑提高了比较的成本;而整数类型的比较则可以直接比较两个整数的大小。例如,尽量使用整数类型存储IP地址,而不是字符串类型。
3.尽量避免使用NULL
如果没有特殊情况,尽量将字段的数据类型设置为NOT N