0

我正在与之合作的一个团队的任务是比较两个相似的数据库表——它们包含相同数量的行和相同数量的列,但数据略有不同——所以我正在编写一个 Java 程序来促进该过程。会有人逐行、逐列地检查两个表,比较从表 A 到表 B 的数据。

现在,TableA 和 TableB 都存在于一个大型、缓慢且不断变化的公司数据库中,所以我希望能够将它们暂存,以便 1)使我的程序更快,2)使 QC 结果不t 在基础数据更改时失效。

但是,我不确定我想如何暂存我的数据。似乎在我的数据库中为 QC 过程创建两个新表效率低下。数据库规范化技术似乎建议我应该制作一个“属性”表,其中包含每个单独的字段:Attribute_id、value、row_id(指向 TableA 和 TableB 中的行的外键)、attribute_type_id(指向包含属性名称列表的表的外键)。

这将允许我做一些整洁的事情,比如拥有 QC“版本”——一个人可能会说“TableA 的值是正确的”,但后来有人可以回去说“不,tableB 是正确的”,我可以轻松地存储和检索那段历史。但是,将两张表折叠成一个大而长的列表似乎并不正确。另外,我不确定我的暂存数据库有多快,所以我可能不想做很多连接。(我知道,这很愚蠢,但我们的数据库很慢。)

或者,或者,我可以简单地让这两个表相互镜像,然后简单地逐行、逐列地进行。这很容易,不需要很多数据库查询,但它似乎效率较低,并且会使扩展我的功能更加困难。

亲爱的读者,你怎么看?

4

0 回答 0