将“version”放在单独的sql server表上是否相关?

时间:2014-09-08 09:37:39

标签: sql-server-2008-r2 database-performance

我有一个包含多个字段的表,这个表几乎从不改变,但对于一个字段,“版本”经常变化。

将单个字段放入单独的表中以减少锁定在主表上的频率是否相关?

例如,我有一个表tType和一个表tEntry。 每当我添加/删除/更新任何tEntry行时,我都需要更新tType的“版本”字段。对于单个tEntry引用的行,tType内可能有数千行。这意味着版本号可能会经常更改,但tType的任何其他数据(例如名称,ID等)都不会更改。

1 个答案:

答案 0 :(得分:1)

您对tType和tEntry的推荐听起来就像是在rdbms中实现键值存储。您可以通过Google讨论此主题。在www似乎有consesus,这有利于增加专业人士。一个选项是查看键值存储,没有sql,多列数据库等(维基百科)......

下一个"反模式"我认识到您尝试将交易数据与主数据混合在一起。在表tType中。尽量避免这种情况,即使你的选择变得更加不舒服并且需要更好地调整。如果这种情况经常发生变化,请保留tType中的版本信息。看这里得到概念:MySQL JOIN the most recent row only?