我必须将文章之类的数据存储到 mysql 数据库中,如果文章被修改,我还必须保存旧版本以使其可以恢复。我在这个主题上发现了一些类似的问题和帖子,但我不确定,哪种解决方案最能解决这个问题。
这是基本表“文章”,以便更好地理解:
文章(id,名称,文本)
对我来说,有两种不同的方法:
方法一
将文章的数据和每个版本存储在“articles”表中,并添加“version”和“status”列。在版本中,我存储文章的递增版本号。活动文章获得“状态”1,其他文章获得“状态”2。
专业人士:
只需要一张桌子
新版本是新数据的插入,只是旧数据的“状态”列的更新
骗局
- 非常大的表(可能查询速度较慢???)
方法二
将字段“版本”添加到“文章”中,并且仅将活动数据存储到“文章”表中。旧版本的数据存储/移动到新表“articles_versioned”。
专业人士:
- 只有实际有效数据在“文章”表中
骗局
- 表的复制
所以。我忘记了一个好的方法吗?如何处理其他表中的相关数据(如图片等)?