2014-02-22 61 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這樣的框架現在使用這個概念似乎對我自己的實踐有很好的驗證。