Mysql的时间类型选定:Datetime,Timestamp,Bigint

MySQL中,Datetime、Timestamp和Bigint都有各自适用的场景。Timestamp适合跨时区计算和自动更新时间,如飞机航班的飞行时间计算;Datatime适用于记录创建修改时间,尤其当时间范围可能超过2038年。而Bigint则可以存储自纪元以来的毫秒数,避免数据库迁移时的数据类型差异,没有时区问题,并且在InnoDB存储引擎下,其性能通常优于其他两种类型。
摘要由CSDN通过智能技术生成

1. 基本区别:

 

2. 其他特性:
1. TIMESTAMP是以utc格式存储,会自动检索当前时区对时间进行转换,而DATETIME不会。

2. 存入null时,TIMESTAMP会自动存储当前时间,而DATETIME存储null值。

3. 时间计算:

        DATETIME翻译为汉语即"时间戳",它是当前时间到 Unix元年(1970 年 1 月 1 日 0 时 0 分 0 秒)的秒数。对于某些时间的计算,如果是以 DATETIME 的形式会比较困难,假如我是 1994-1-20 06:06:06 出生,现在的时间是 2016-10-1 20:04:50 ,那么要计算我活了多少秒钟, DATETIME还需要函数进行转换,但是 TIMESTAMP 直接相减就行。

3. 什么场景下用什么类型合适呢?


1.需要跨时区计算时间用 或者 需要自动更新时间的TIMESTAMP

        计算一架从北京飞往纽约的飞机的飞行时间。这个场景中,如果使用 TIMESTAMP 来存时间,起飞和降落时间的值&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值