选择合适的数据类型对于获得高性能至关重要

1. 更小的通常更好

尽量使用正确存储数据的最小数据类型,它们通常更快,因为它们占用更小的磁盘空间、内存和CPU缓存,并且处理时需要的CPU周期更少。

2. 简单就好

简单的存储类型通常需要更少的CPU周期。 例如:

  1. 整型比字符操作代价更低,因为字符集和校对规则使字符比较比整型更复杂。

  2. 应该用mysql内建的类型(date,time,datetime)而不是字符串来存储日期和时间

  3. 用整型存储IP地址

3.尽量避免NULL

NULL是列的默认属性,通常情况最好指定列为NOT NULL,除非真的需要存储NULL值。
如果计划在列上建索引,就应该尽量避免设计成可为NULL的列,NUll使得索引、索引统计和值比较都更复杂。
这里有一个例外,InnoDB使用单独的位(bit)存储NULL值,所以对稀疏数据(很多值都为NULL,只有少数不为NULL)于很好的空间效率。


Donne
694 声望25 粉丝

知其然,知其所以然。