2014-02-22 44 views
2

我想知道什么样的表应该被添加到列create_timeupdate_time创建/更新时间戳 - 何时添加/使用?

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

我知道表(如tag``tag_video_relation)不需要create_timeupdate_time column.But怎么样videovideo_detail

如果我在video表中有一百万行,create_timeupdate_time会花费大量存储空间。

那么,在什么情况下以及在什么时候我们需要在表格中使用create_timeupdate_time

回答

2

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

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

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

至于tag_video_relation,不需要create_time和update_time - 实际上我认为它们对于这种关系有用。在许多情况下,知道关系何时被创建的能力是有用的信息。关系的'updated_at'列可能是您没有更新字段的一种情况,如果关系只是创建或删除。在存储方面,我认为这是一个微不足道的问题,通常对于像Oracle,SQL Server和Postgres这样的现代rmbs而言不是问题,它们旨在允许从数百万行数千张桌子。

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