保持表行克隆的有效方法

时间:2013-10-24 10:11:04

标签: mysql database database-design

我有一个使用MySQL数据库的PHP应用程序。它有一个名为profile的表,用于存储用户的详细信息。现在需要在执行任务时保留该配置文件的快照。这意味着必须克隆与用户相关的整个表行。

我找到了两种方法。

1)向表中添加另一列以提及它是否已克隆。然后他的原始配置文件可以分开。 (原始/复制)。配置文件数据将保存在一个表中。

其他方法是......

2)添加另一个类似于配置文件的表(具有相同的字段)并在其中存储克隆的配置文件。配置文件数据将保存在两个表中。

在性能和可用性方面最有效的是什么?

1 个答案:

答案 0 :(得分:0)

如果你只在column/field的一个表中有它来区分它是克隆还是原始,那么你将总是加倍处理的记录数。而如果它在另一张桌子上,你每次只需要担心一张桌子,除非你同时需要两张桌子。另一件事是,如果您有一个单独的表,您的主表有虚拟备份。所以,无论如何,一个人遇到麻烦你都会有一些东西可以依赖,反之亦然。另外,如果记录是单独的表,则不要将自己置于混淆记录的危险之中。换句话说,我更喜欢你的第二种方法而不是第一种方法。