Database design 在数据库中保存版本的最佳方法是什么?

Database design 在数据库中保存版本的最佳方法是什么?,database-design,Database Design,我需要开发一个web应用程序。 在不同地区销售不同包装的不同产品的网上商店 管理员需要修改这些包,而最终用户将无法看到他的修改。最终用户只有在管理员发布更改时才能看到这些修改 我的问题是如何设计数据库(或webapp),以便管理员可以看到应用程序的不同版本(工作版本),而最终用户可以看到另一个版本(发布版本) 我正在考虑在每个表上添加一个字段“version\u id”。 有什么想法吗?建议?链接?我会将预发布版本存储在一个单独的表中,然后在管理员发布时更新“live”表 通过这种方式,您可以减

我需要开发一个web应用程序。 在不同地区销售不同包装的不同产品的网上商店

管理员需要修改这些包,而最终用户将无法看到他的修改。最终用户只有在管理员发布更改时才能看到这些修改

我的问题是如何设计数据库(或webapp),以便管理员可以看到应用程序的不同版本(工作版本),而最终用户可以看到另一个版本(发布版本)

我正在考虑在每个表上添加一个字段“version\u id”。
有什么想法吗?建议?链接?

我会将预发布版本存储在一个单独的表中,然后在管理员发布时更新“live”表

通过这种方式,您可以减少经常读取的表(活动表)中的行数,这将减少开销-如果是网络商店,则每当有人访问该页面时,都会读取活动表

如果您使用的是MySQL,您还可以优化这两个表,以便实时版本使用MyISAM,这(粗略地说)更适合于大量读取操作,并且将admin pre publish表作为InnoDB表;InnoDB(笼统地说)在重写操作上的性能更好。该预发布表一次只能由极少数(甚至一个)用户(管理员)访问,但在发布前可能会频繁更新,因为他们意识到自己错发了某些内容并对其进行了更改

如果要合并完整的版本历史记录,您肯定需要一个单独的表,因为表中的预发布版本将比实时版本多