美文网首页
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