【问题标题】:create / update timestamps - when to add/use? [closed]创建/更新时间戳 - 何时添加/使用? [关闭]
【发布时间】:2014-02-22 12:03:31
【问题描述】:

我想知道应该将create_timeupdate_time 列添加到什么样的表中?

如果我有video 表、video_detail 表、tag 表和tag_video_relation 表。

我知道表格(例如tag``tag_video_relation)不需要create_timeupdate_time 列。但是videovideo_detail 呢?

如果 video 表中有 100 万行,create_timeupdate_time 将占用大量存储空间。

那么,在什么情况下,什么时候我们需要create_timeupdate_time 在一个表中?

【问题讨论】:

    标签: sql database-design timestamp updatedate


    【解决方案1】:

    我发现最好将字段添加到所有表中,因为它们通常会在以后变得有用。

    他们将帮助您调查问题和问题并确定它们何时发生。它们在诊断和调试问题方面非常宝贵。

    您可以在 Ruby On Rails 等框架中看到这种方法,其中新模型/表的默认模板(“骨架”)自动包含 created_at 和 updated_at。

    至于 tag_video_relation,不需要 create_time 和 update_time - 实际上我认为它们对于这种关系很有用。在许多情况下,知道何时创建关系的能力是存储的有用信息。如果仅创建或删除关系,则关系的“updated_at”列可能是您没有更新字段的一种情况。

    在存储方面,我相信这是一个微不足道的问题,通常不是现代 rdmbs 的问题,例如 Oracle、SQL Server 和 Postgres,它们旨在允许从数百万行、数千行中快速检索信息表格。

    我在应用程序(旧的和新的技术)和数据仓库方面工作了很多年,并且经常将字段添加到许多表的趋势使我形成了这种观点。将它添加到我使用过的所有表中是我的个人实践,Rails 等框架使用这个概念的事实现在似乎很好地验证了我自己的实践。

    【讨论】:

      猜你喜欢
      • 2011-03-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-09-18
      相关资源
      最近更新 更多