本文转载自微信公众号《小猪笔记本》,作者钟哥。转载本文请联系小猪笔记本公众号。参考资料:《高性能MySQL(第三版)》1.更优化的数据类型(1)选择能正确存储数据的最小数据类型。因为它们占用更少的磁盘、内存和CPU缓冲,并且需要更少的CPU周期来处理。(2)简单数据类型。因为对简单数据类型的操作通常需要较少的CPU周期。eg:整数优于字符;使用MySQL内置类型,如日期、日期时间、时间等,而不是字符串来存储日期和时间;使用整数而不是字符串来存储IP地址。(3)尽量避免NULL。通常最好将列指定为NOTNULL。因为如果查询中包含可以为NULL的列,那么MySQL使用索引、索引统计和对NULL列的值比较会更加复杂。我们在创建表的时候,选择数据类型,参考上图中的流程。2、MySQL数据类型大致排序。将我们开发中常用的MySQL数据类型整理如下:在建表的过程中,我们可以根据不同数据类型的优缺点进行选择,从而优化表的存储空间和性能。3.一些简单的设计原则总结了一些我们在开发过程中值得学习的表设计原则:避免过度设计,减少产生复杂查询的schema,多表设计使用小而简单的适合的数据类型,除非有数据类型在真实的数据模型中明确要求,否则尽量避免使用空值,而是为每一列设置一个默认值0,并尽可能使用相同的数据类型来存储相似或相关的值,特别是inthecolumnvariable-lengthstringusedintheassociationcondition可以根据需要设置字符串的长度,以避免使用MySQL的过时特性,例如指定浮点数的精度和整数的显示宽度。希望每个开发者都能把表设计好,减少被公司DBA投诉的机会