mysql数据类型优化

我把mysql数据类型优化总结为下面几点:

1,字段选择合适的范围,例如存一个0~200,选择tinyint unsigned会更好,更小的范围会减少磁盘,内存占用空间,并且占用CPU的周期也更小

2,字段选择简单合适的数据类型,简单的数据类型通常需要更少的CPU周期,例如,整型比字符串操作代价更低,这里举两个例子,使用mysql内建类型(date,time,dateTime,timestamp)而不是字符串来存储日期或时间,使用整型类型而不是字符串类型来存储IP地址

3、尽量避免设置为null的列,通常情况下,not null比null在性能上并没有提升多少,但是,如果该列需要使用到索引,就应该避免设置为null。当null列被索引时,每一个索引记录需要一个额外的字节,在MyISAM里甚至还可能导致固定大小的索引变成可变大小的索引。但是对InnoDB来说却有很好的空间效率(InnoDB使用单独的位bit存储Null值)。

参考《高性能mysql》

你可能感兴趣的:(mysql数据类型优化)