我想知道什么样的表应该列create_time
,并update_time
添加到?
如果我有video
table,video_detail
table,tag
table和tag_video_relation
table。
我知道表(例如tag``tag_video_relation
)不需要create_time
和update_time
列。但是video
和video_detail
呢?
如果我有一个百万行video
表,create_time
并update_time
会花费大量的存储空间。
那么,在什么情况下,什么时间我们需要create_time
和update_time
放在桌子上呢?
我发现最好将字段添加到所有表中,因为它们通常在以后会变得有用。
它们将帮助您调查问题和发现问题的时间。它们对于诊断和调试问题非常重要。
您可以在Ruby On Rails这样的框架中看到这种方法,其中新模型/表的默认模板(“骨架”)自动包含created_at和updated_at。
至于tag_video_relation,不需要create_time和update_time-实际上,我认为它们对于这种关系是有用的。在许多情况下,知道何时创建关系的能力对于存储有用的信息。如果仅创建或删除关系,则该关系的“ updated_at”列可能是其中没有更新字段的一种情况。
在存储方面,我认为这是一个琐碎的问题,对于现代rdmbs(例如Oracle,SQL Server和Postgres)来说通常不是问题。它们旨在允许从数百万行,数千个表中快速检索信息。
我已经在应用程序(旧技术和新技术)和数据仓库中工作了很多年,并且经常将字段添加到许多表中的趋势使我形成了这种观点。仅将其添加到我使用过的所有表中是我的个人实践。现在,例如rails之类的框架使用此概念似乎是对我自己的实践的很好验证。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句