美文网首页
MySQL存储时间的小知识点

MySQL存储时间的小知识点

作者: kiki的进阶之路 | 来源:发表于2021-03-29 22:28 被阅读0次

    知识点记录源自JavaGuide哥的文章。

    1.千万不要用字符串格式存储时间
    缺点:占用空间大、比较效率低,无法用日期相关的API进行计算和比较。

    2.DateTime和Timestamp抉择

    • DateTime没有时区信息,一旦时区更换,时间就会发生错误。
      Timestamp和时区有关。会随服务器时区的变化而变化。

    一些常用的sql命令

    # 查看当前会话时区
    SELECT @@session.time_zone;
    # 设置当前会话时区
    SET time_zone = 'Europe/Helsinki';
    SET time_zone = "+00:00";
    # 数据库全局时区设置
    SELECT @@global.time_zone;
    # 设置全局时区
    SET GLOBAL time_zone = '+8:00';
    SET GLOBAL time_zone = 'Europe/Helsinki';
    
    • DateTime耗费空间更大。
      DateTime耗费8个字节
      TimeStamp耗费4个字节,但是表示时间范围更小。

    3.数值型的时间戳会不会更好?
    缺点:数据可读性比较差。
    优点:跨系统更方便;排序、比较等操作的效率更高。

    《高性能MySQL》一文中推荐使用Timestamp

    相关文章

      网友评论

          本文标题:MySQL存储时间的小知识点

          本文链接:https://www.haomeiwen.com/subject/sjuihltx.html