Schema与数据类型优化
良好的逻辑设计和物理设计是高性能的基石,应该根据系统将要执行的查询语句来设计schama,这往往需要权衡各种元素。例如,反范式的设计可以加快某些类型的查询,但同时可能使另一类型的查询变慢。 ——《高性能MySQL》
选择优化的数据类型
选择优化数据类型概述
对于MySQL来说他是支持很多数据类型的,那么对于MySQL来说选择合适的数据类型对高性能是有很大的帮助的;通常MySQL遵循以下几类规则。
数据类型更小通常更好
数据类型越小,他占用的磁盘空间就越小,并且CPU处理该数据的周期就越短
数据类型越简单越好
通常来说,数据类型怎么才算简单,比如说整型数据类型比字符串类型更加简单;还比如说MySQL自带的时间类型比字符串来存储时间更加简单。
尽量避免NULL
通常来说尽量避免数据table中太多的NULL值,首先在查询NULL值的列来说是难以优化的。
整数类型
有两种常见的数据数字:整数和实数。通常整数类型主要有:TINYINT,SMALLINT,MEDIUINT,INT,BIGINT。存储的空间分别是8,16,24,32,64位存储空间
作为整数类型有可选的UNSIGNED属性表示不允许负数存在,同时作为数据位数从0开始计算;
同时使用指定整数类型指定宽度,例如INT(11)ÿ