良好的逻辑设计和物理设计是高性能的基石.根据系统要执行的查询语句来设计Schema(数据库的组织和结构).
1.选择合适的数据类型
原则:
1.更小的通常更好
尽量使用可以正确存储数据的最小数据类型,更小的数据类型可以更少的占用磁盘,内存和CPU缓存,并且处理时需要的CPU周期更少.
PS:但是要确保没有低估要存储的值得范围,如果无法确定用哪一个数据类型,那么就选择你认为的可以不会超过范围的最小的数据类型.
2.简单就好
简单地数据类型操作需要更少的CPU周期.
3.尽量避免NULL
如果查询中包含NULL值,对于Mysql是更难优化的.
包含NULL的列使得索引,索引统计和值比较变得较为复杂,会需要更多的存储空间,mysql也会特殊处理,当被设置为索引时,每个索引记录会需要额外的字节.通常把列设置为Not Null,可以减少性能的开销.
首先应明确合适的大类型.第二步选择具体类型.
1.整数类型
存储空间位数(N) | 存储值范围 (N-1) 指数 | 存储值范围 (N-1) 指数 | |
tinyint | 8 | -2(N-1) | 2(N-1)-1 |
smallint | 16 |