• 时间字段类型之timestamp、int(10)和datetime如何选择?


      最近我在设计数据表时需要一个存放时间的字段,在timestamp、int(10)和datetime几种类型中犹豫不决,它们都能满足我的业务需求,因此我不知道它们几个哪个更好。下面我就我整理出来的资料记录一下笔记。

    • timestamp

      timestamp类型的取值范围为“1970-01-01 00:00:00” 至 “2038-01-19 03:14:07”,其数据精确到秒,4个字节,其时间值带时区,可精确到微秒级别,timestamp(N)的取值范围为0-6,精确到毫秒则设置为timestamp(3),精确到微秒则设置为timestamp(6)。

    • int(10)

      就是一个时间戳,4个字节,精确到秒。

    • datetime

      datetime类型的取值范围为1000-01-01 00:00:00~9999-12-31 23:59:59,存储需要8个字节,与时区无关,精确度为百分之三秒。

      我自己总结一下这几个类型的优缺点:
      ①timestamp存储空间小、精确度高、适用数据库相关的时间函数、数据表可视化,但是时间范围快到期了,且由于自带时区转义,如果是跨多个时区的业务需要检查好自身的时间时区转换。

      ②int(10)存储空间小、运算及查询效率高、不受时区影响,但是可视化不友好,需要转义才能看时间,且精确度不高,只能到秒级别。

      ③datetime,时间范围大、对程序员友好,可视化友好,可适用数据库相关的时间函数。但存储空间大。

      以上就是我的总结。

    参考 https://blog.csdn.net/xumingjie1658/article/details/7426301、https://www.cnblogs.com/deityjian/p/11452295.html、https://blog.csdn.net/fsp88927/article/details/80662369 

  • 相关阅读:
    Qt音视频开发8-ffmpeg保存裸流
    Qt音视频开发7-ffmpeg音频播放
    Qt音视频开发6-ffmpeg解码处理
    Qt音视频开发5-vlc事件订阅
    Qt音视频开发4-vlc读取和控制
    Qt音视频开发3-vlc录像存储
    Qt音视频开发2-vlc回调处理
    Qt音视频开发1-vlc解码播放
    【日拱一卒】链表——两个有序的链表合并
    osg计算线段与球面的交点
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14401247.html
Copyright © 2020-2023  润新知