题目描述上述问题,避不开的就是数据存在两份,比如说一份后台正在编辑的文章,一份用户正在浏览的文章。怎么能够实现数据的修改量,数据占用的空间量最小。如果单独看文章,比如文章表这一张表,问题也比较好处理,对数据做备份。比如当需要编辑文章时,给文章建立一个备份数据,后台修改的都是备份数据,这样不影响前台用户浏览,后台修改好了后,点击发布,备份数据覆盖原始数据,同时删除备份数据,有点Linux里bak文件的味道。增删改皆如此。当然这个思路也可以反过来用,创捷备份数据,后台直接修改原始数据,用户浏览备份数据。这样用户浏览的逻辑就需特殊处理一下。这里单表,此种思路即可解决。但是如果是多表数据,比如文章有类别,娱乐文章,新闻文章等,当对文章类别编辑时,数据联动如何处理。再多一点文章有一到多个标签,比如是如片文章,花边文章。三表联动,都需要维护变更状态。这种情况下,像刚刚那边加备份数据的方式就会及其复杂。不知道坛子里的大神们有什么好的思路。题目来源及自己的思路楼主这里,之前做过一个两表联动的数据,有两个角色有点类似文章和标签。一篇文章有一到多个标签。楼主设计了三张表,文章表,标签表。文章<->标签关系表,联动的是标签和文章<->标签关系表,当对标签做增删改时,同时联动关系表,后台修改完毕统一发布。楼主对标签和关系表都做了备份处理,当标签修改时,增加标签备份数据,同时联动,关系表中反正该标签数据,皆增加备份。删除时,同修改。新增最简单,只需要增加标签备份,关系表中无数据处理。中间涉及对原始数据的增删改,对备份数据的删改。做了很大的工作量,深深感到被自己设计的方案坑到了。也还有其他思路。比如楼主思考过的,就是设计表的时候设计双字段,就好比一个事物由正反两方面,正的一边是给别人看的,反的一面是自己看的。这样的话在数据表里只有一条数据,一个id。维护起来很容易,缺陷是字段冗余。还有就是极其暴力的做法,两张类似的表,和上面的方法的思想有点类似,同样冗余。
1 回答
慕容708150
TA贡献1831条经验 获得超4个赞
经过实践,推荐创建两张相同的表吧,一张表里有标记状态字段,同一在表与表直接同步变更吧。上面的两种方法,在多张表数据关联时,业务处理麻烦的很,很容易有bug。
- 1 回答
- 0 关注
- 509 浏览
添加回答
举报
0/150
提交
取消