我应该使用哪种存储创建日期,更新,创建者的方法

时间:2011-07-21 12:27:20

标签: mysql

我正在为一个网站设计一个数据库,该网站将通过论坛,聊天和其他社区功能进行大量数据开发。

我的问题是:我已经确定了我想为至少大多数表存储的某些信息。创建日期,最后更新,创建者和其他人。

哪种方法可以将这些存储在专用表中或作为每个表中的字段存储?

为什么更好的解决方案更好? 如果我有50个表或100个表,那么最佳解决方案的意见会改变吗? 10万条记录与400万条记录相比?

还有其他方面吗?

1 个答案:

答案 0 :(得分:2)

创建日期和上次更新日期最好存储为同一表中的列及其各自的数据。通过这样做,您可以使用TIMESTAMP数据类型,以便在各自的行更改时自动更新。

NULL列上的row_created时间戳将默认为创建行时的时间戳。在row_updated中,每次以任何方式修改行时,时间戳都会自动更新。您无需在应用程序代码中修改它们。

CREATE TABLE test.table (
  row_created TIMESTAMP NULL,
  row_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
)

创建者用户并不像在同一个表中存储一样重要,但在同一个表或另一个表中执行它并没有什么坏处。为简单起见,我会将它保存在同一个表中。

相关问题