选择合适的数据类型对于获得高性能至关重要
1. 更小的通常更好
尽量使用正确存储数据的最小数据类型,它们通常更快,因为它们占用更小的磁盘空间、内存和CPU缓存,并且处理时需要的CPU周期更少。
2. 简单就好
简单的存储类型通常需要更少的CPU周期。 例如:
整型比字符操作代价更低,因为字符集和校对规则使字符比较比整型更复杂。
应该用mysql内建的类型(date,time,datetime)而不是字符串来存储日期和时间
用整型存储IP地址
3.尽量避免NULL
NULL是列的默认属性,通常情况最好指定列为NOT NULL,除非真的需要存储NULL值。
如果计划在列上建索引,就应该尽量避免设计成可为NULL的列,NUll使得索引、索引统计和值比较都更复杂。
这里有一个例外,InnoDB使用单独的位(bit)存储NULL值,所以对稀疏数据(很多值都为NULL,只有少数不为NULL)于很好的空间效率。