数据允许范围内使用更小的数据类型
占用更少的磁盘、内存、CPU缓存;消耗的Cpu时钟周期更少。
尽可能选择简单数据类型
简单数据类型占用更少CPU时钟周期。
字符串的检验规则和排序规则更复杂。
例如:
- 状态字段使用整型代替状态字符串
- 使用Mysql内置的时间代替字符串保存时间。
- 用整型存储IP地址。
避免字段可为NULL
Null值会占用额外的存储空间。innodb会使用单独的bit来存储Null值。
有NULL值的列建立索引,会导致固定大小的索引列变成可变大小。
NULL值列建立了索引可能也无法使用。