mysql - datetime、timestamp区别

平常开发过程中会遇到的问题 TIMESTAMP、DATETIME的选择问题:

  相同点:

    TIMESTAMP、DATETIME俩者都是表示时间格式为 "YYYY-MM-DD HH:MM:SS"的日期

  不同点:

    1、显示的时间区间:

      timestamp所能存储的时间范围为:‘1970-01-01 00:00:01.000000’ 到 ‘2038-01-19 03:14:07.999999’。

      datetime所能存储的时间范围为:‘1000-01-01 00:00:00.000000’ 到 ‘9999-12-31 23:59:59.999999’。

      总结:TIMESTAMP和DATETIME除了存储范围和存储方式不一样,没有太大区别。当然,对于跨时区的业务,TIMESTAMP更为合适。

    2、存储方式不同:

      对于TIMESTAMP,它把客户端插入的时间从当前时区转化为UTC(世界标准时间)进行存储。查询时,将其又转化为客户端当前时区进行返回。

      而对于DATETIME,不做任何改变,基本上是原样输入和输出

    3、存储长度不一致:

       datetime占用8个字节,timestamp占用4个字节。timestamp利用率更高。

 

posted @ 2022-01-19 17:32  核桃MM  阅读(159)  评论(0)    收藏  举报