首页 > 解决方案 > 即使从表中归档历史数据,也保持列值的唯一性

问题描述

背景信息:我在一家公司工作,我们有一个表格,其中特定列“标识符”的值应该始终是唯一的。当我们在表中插入一条新记录时,我们总是检查我们要在“标识符”列中插入的值不应该与表中已经存在的任何其他记录匹配,如果它与任何记录匹配,那么我们尝试为“标识符”生成另一个值以保持唯一性。到目前为止还没有存档机制,因此该表有大量数据导致延迟问题,因此我们希望存档将进入单独数据库的历史数据。

关于问题:如果我们归档表中的记录,那么我们有可能创建一个已归档的“标识符”值,并且我们当前维护唯一性的逻辑也将失败,因此我们将有“标识符”的重复值(一个在存档数据中,一个在实际表中)。

我正在寻找解决方案,即使旧数据存档在另一个数据库中,我们仍然可以保持“标识符”列值的唯一性。

有人可以建议任何可用于解决此问题的方法吗?

标签: sqlsql-serverdatabasessms

解决方案


推荐阅读