MySQL date、datetime和timestamp类型的区别
2016-11-14 21:25
651 查看
date和datetime、timestamp 的区别
date保存精度到天,格式为:YYYY-MM-DD,如
2016-11-07
datetime和timestamp精度保存到秒,格式为:
YYYY-MM-DD HH:MM:SS,如:
2016-11-07 10:58:27
因此如果只需保存到天的字段(如生日)用date就可以了。
datetime 和timestamp
两者都是时间类型字段,格式都一致。两者主要有以下几点区别:最主要的区别-受时区影响不同。
timestamp会跟随设置的时区变化而变化,而
datetime保存的是绝对值不会变化。
详细可以阅读这篇博客的演示:http://www.tech-recipes.com/rx/22599/mysql-datetime-vs-timestamp-data-type/
一个
timestamp字段,一个
datetime字段,修改时区
SET TIME_ZONE = "america/new_york";后,
timestamp字段的值变了!
因此,如果应用场景有跨时区要求的要特别注意这点。
占用存储空间不同。
timestamp储存占用4个字节,
datetime储存占用8个字节:http://dev.mysql.com/doc/refman/5.7/en/storage-requirements.html
可表示的时间范围不同。
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
索引速度不同。
timestamp更轻量,索引相对
datetime更快。
区别用表格汇总如下:
区别项 | timestamp | datetime |
---|---|---|
和时区有关 | 有 | 无 |
占用字节 | 4字节 | 8个字节 |
时间范围 | 1970-01-01 00:00:00~ 2038-01-09 03:14:07 | 1000-01-01 00:00:00~ 9999-12-31 23:59:59 |
索引 | 相对块 | 相对慢 |
参考来源
https://stackoverflow.com/questions/409286/should-i-use-field-datetime-or-timestamp/20718367#20718367相关文章推荐
- mysql中date,datetime,timestamp数据类型区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- MySQL中date、year、datetime、timestamp和time数据类型的区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- Mysql中DATETIME、DATE和TIMESTAMP类型的特征和区别
- Mysql中DATETIME、DATE和TIMESTAMP类型的特征和区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- Mysql中DATETIME、DATE和TIMESTAMP类型的特征和区别
- Mysql中DATETIME、DATE和TIMESTAMP类型的特征和区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- Mysql中DATETIME、DATE和TIMESTAMP类型的特征和区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- MySQL中DATETIME、DATE和TIMESTAMP类型的区别
- mysql中DATETIME、DATE 和 TIMESTAMP 类型数据使用
- mysql datetime、date、time、timestamp区别
- MySQL Date,Datetime和Timestamp字段类型
- 【转】mysql中timestamp,datetime,int类型的区别与优劣