第一章节 Schema与数据类型优化
1. 准则
此文所述均基于InnoDB
- 由于字符集和校对规则(排序规则),字符串比整数操作代价更高
在索引列中使用NOT NULL(稀疏数据除外,其有很好的空间效率)
- 在非索引列中使用NOT NULL带来的性能提升较小
DATETIME 和 TIMESTAMP 的区别(DATE精确到天,TIME最大精度为天)
- 默认值分别为NULL,当前时间
- 分别使用8字节,4字节存储
- 区间分别为1970-01-01 00:00:01.000000 – 2038-01-19 03:14:07.999999,1000-01-01 00:00:00.000000 – 9999-12-31 23:59:59.999999
- TIMESTAMP在UPDATE时未指定,则更新为当前时间
- TIMESTAMP随时区自动更新