我有一个网站,我让用户改变了几页,但现在我想以某种方式保持跟踪这些变化,并显示给其他用户(有点像维基)
以下是我目前得到的:
id, title, description, country, language, last_update (and ~20+ more fields)
我在考虑用id和上一个history\u id创建一个主表,然后history表得到上面的所有内容,这样每个新条目都会得到一个新history\u id和所有新条目。
我觉得我可以做得更好。因为使用上面的方法,我将得到大量类似的行(只是改变一个字段或一个字母什么的)。
有什么建议吗?谢谢!
1条答案
按热度按时间u7up0aaq1#
我认为你的想法是对的。您需要两张table,它们看起来应该类似于:
内容列的最后一个版本可以添加到
page
表(将是多余的),以提高读取/显示页面时的性能。阅读页面通常比更新页面要常见得多,这样冗余可以让你的网站更快。
请注意这一栏
last_version_id
允许空值,所以您可以在mysql中插入/更新一行(这不实现约束检查延迟性)。