V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
nikoo
V2EX  ›  问与答

某公司数据库设计规范中的 gmt_create、gmt_modified 的前缀 gmt 如何理解?

  •  
  •   nikoo · 2018-09-12 12:17:39 +08:00 · 11430 次点击
    这是一个创建于 2267 天前的主题,其中的信息可能已经有所发展或是发生改变。
    “表必备三字段:id, gmt_create, gmt_modified。 ”
    “ gmt_create, gmt_modified 的类型均为 date_time 类型。”

    gmt_create, gmt_modified 字段储存了记录创建、修改时间
    这个前缀 gmt 是什么的缩写?
    如果是“格林威治标准时间”是不是有歧义?
    因为如果数据库服务器是北京时间,那不应该是 GMT+8 吗?

    --------------------------------------------------------------------
    另外想探讨下这个字段名 gmt_modified 那么另一个为什么不是 gmt_created 而是 gmt_create ?
    14 条回复    2019-09-18 15:33:57 +08:00
    feiyuanqiu
        1
    feiyuanqiu  
       2018-09-12 12:23:07 +08:00 via Android
    你去问这个公司的人啊…
    wu67
        2
    wu67  
       2018-09-12 12:27:40 +08:00
    可能是产品缩写?最初开发者的名字缩写之类的?我记得以前看过一套视频, 就是瞎缩写, 看了两集我就放弃了
    Dannytmp
        3
    Dannytmp  
       2018-09-12 12:28:29 +08:00 via Android
    刮民党
    98jiang
        4
    98jiang  
       2018-09-12 12:33:09 +08:00
    可能只是某项目用的表的前缀
    daigouspy
        5
    daigouspy  
       2018-09-12 12:33:38 +08:00 via Android   ❤️ 1
    是的,就是跟时间有关的 gmt,你有空看看 WordPress 的表就知道了。
    feverzsj
        6
    feverzsj  
       2018-09-12 12:37:38 +08:00
    其实是开发者的名字拼音缩写
    everyx
        7
    everyx  
       2018-09-12 12:41:49 +08:00 via Android
    难道是阿里巴巴? GMT 应该是世界时的缩写
    nikoo
        8
    nikoo  
    OP
       2018-09-12 12:43:45 +08:00
    @daigouspy 谢谢,为什么跟时间有关的字段名以 gmt 做前缀?难道没有考虑不同时区的问题吗
    EPr2hh6LADQWqRVH
        9
    EPr2hh6LADQWqRVH  
       2018-09-12 12:46:29 +08:00
    中国人不是英语母语,程序员也没专业培训过英语,光培训代码就已经拼尽全力了,时态用不对太正常了,还要啥自行车,没用拼音很优秀了
    nikoo
        10
    nikoo  
    OP
       2018-09-12 12:47:43 +08:00
    @avastms 谢谢,我想知道是真的时态没用对还是有其他考虑
    JinyAa
        11
    JinyAa  
       2018-09-12 12:49:57 +08:00
    阿里的吧。。阿里设计数据库一般都这样 只是创建时间和修改时间 没必要纠结
    EPr2hh6LADQWqRVH
        12
    EPr2hh6LADQWqRVH  
       2018-09-12 12:57:38 +08:00   ❤️ 1
    @nikoo 加 gmt 前缀是提醒开发者应考虑时区问题,开发者的本地时需要转换成世界时之后再存到字段里面去。 这样数据库存储的时间就不会因为时区乱掉。

    比如现在你就因为这个前缀的提醒意识到了时区问题,否则很容易忽略。

    还有另一种操作是一律存储 Unix 时间戳,timestamp 隐含了 0 时区。
    nikoo
        13
    nikoo  
    OP
       2018-09-12 13:07:56 +08:00
    @avastms 谢谢!一言惊醒梦中人,靠谱
    date_time 字段有时区问题,那么为什么不用 timestamp 作为标准字段类型?
    timestamp size 小、索引效率高、并且没有时区问题(能想到的 timestamp 缺点是 2038 问题)
    out001a
        14
    out001a  
       2019-09-18 15:33:57 +08:00
    @nikoo 阿里要做百年企业
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5294 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:17 · PVG 09:17 · LAX 17:17 · JFK 20:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.