MySQL中datetime和timestamp的区别

datetime和timestamp的区别

相同点:

  • 存储格式相同 datetime和timestamp两者的时间格式都是YYYY-MM-DD HH:MM:SS
    不同点:

  • 存储范围不同. datetime的范围是1000-01-01到9999-12-31. 而timestamp是从1970-01-01到2038-01-19, 即后者的时间范围很小.

  • 与时区关系. datetime是存储服务器当前的时区. 而timestamp类型,是将服务器当前时间转换为UTC(世界时间)来存储.即datetime与时区无关,存什么,返回什么. 而timestamp存储的时间,返回的时间会随着数据库的时区不同而发生改变.

总结

关于datetime和timestamp的选择使用.

  • 在满足使用条件的情况下,占据存储空间越少越好,此时选择timestamp比datetime更好.
  • timestamp类型的存储,是以UTC时区来保存的,在显示时会自动将日期数据转换,如果时间的场景对应多个时区,此时选择timestamp比datetime更好.
  • 关于日期的使用范围, timestamp类型最大只支持到2038-01-19年,所以如果使用的日期时间较大, 则选择datetime比timestamp更好.

根据上述的总结可知,在日常的项目使用中,优先推荐使用timestamp类型,花更少的存储空间实现时间的存储.

相关推荐
IT枫斗者枫哥几秒前
MyBatis只查两次,为什么还会查到别家客户?
java·数据库
小白男神2 分钟前
MySQL进阶学习五(锁)
后端·mysql
SelectDB2 分钟前
日志成本打不下来?Doris 降本实操笔记:建表、参数、冷热分层与四个排错现场
大数据·数据库·数据分析
这个DBA有点耶4 分钟前
数据库迁移不停机方案:双轨并行技术架构与3TB核心系统落地实践
数据库·架构·dba
SelectDB4 分钟前
Doris vs ClickHouse:企业级分析场景下,OLAP 的能力边界正在如何变化?
大数据·数据库·数据分析
野生数据人6 分钟前
多表 Join 慢、Upsert 把机器写崩:一份能直接抄的 Apache Doris 命令清单
大数据·数据库
鸽芷咕7 分钟前
OceanBaseVS金仓:选型别只听“分布式“,先把延迟和复杂SQL这两笔账算清
数据库
devpotato7 分钟前
把 MySQL 索引讲透:从 B+ 树结构到线上索引治理
java·mysql
小白男神5 天前
MySQL进阶学习四(存储过程、游标、触发器)
mysql
这个DBA有点耶5 天前
MVCC深入:Read View、版本链与快照读——InnoDB并发控制的内核
数据库·mysql·架构