zoukankan      html  css  js  c++  java
  • 时间字段类型之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 

  • 相关阅读:
    bbs树形打印(一)
    ORM
    kafka的分区
    Content-type"是"application/json的作用
    idea增强for循环
    rabbitmq的发布订阅
    搭建mqtt服务器apollo
    kafka生产者集群和分区,消费者轮询接收
    http实时推送技术
    Kafka:Configured broker.id 2 doesn't match stored broker.id 0 in meta.properties.
  • 原文地址:https://www.cnblogs.com/smallzhen/p/14401247.html
Copyright © 2011-2022 走看看