date
保存精度到天,格式为:YYYY-MM-DD,如2016-11-07datetime
和 timestamp
精度保存到秒,格式为:YYYY-MM-DD HH:MM:SSdatetime
和 timestamp
两者都是时间类型字段,格式都一致。两者主要有以下几点区别:
1、最主要的区别-受时区影响不同timestamp
会跟随设置的时区变化而变化,而 datetime
保存的是绝对值不会变化。因此,如果应用场景有跨时区要求的要特别注意这点。
2、占用存储空间不同timestamp
储存占用4个字节,datetime
储存占用8个字节。
3、可表示的时间范围不同timestamp
可表示范围: 1970-01-01 00:00:00~2038-01-09 03:14:07
,datetime
支持的范围更宽 1000-01-01 00:00:00 ~ 9999-12-31 23:59:59
。
4、索引速度不同timestamp
更轻量,索引相对 datetime
更快。