小表更新大表

时间:2016-12-19 11:49:30

标签: java sql plsql architecture software-design

问题详情:

表1: - Product_Country A

描述: - 包含产品ID和其他详细信息以及国家/地区代码。

表2: - Product_Outlet B

描述: - 包含产品ID和其他详细信息以及插座代码

一个国家可以有很多网点,假设澳大利亚有50个网点。 因此,如果我更新表A中产品的任何细节,我想根据一些if else条件更新表B中的相同细节。

要考虑的要点: - 1.)表B的数据是表A的50倍。

2。)有一个Java应用程序,我们通过它来更新表A.

3。)有一些规则可以更新表B中的详细信息,其中一些是基于我们更新并在其中创建记录的其他条件。

当前解决方案: - 有一个触发器在更新/插入A时将条目放入Temp表中, 从每天两次调度PL / SQL作业的地方,获取数据并在表B中更新/插入。 考虑使用此解决方案,因为在A表之后立即更新B表将消耗大量时间并且应用程序将无响应。

考虑但拒绝的解决方案: - 1.)在A表之后更新表B将花费很多时间。

2。)增加预定作业的频率,会占用数据库。

更多解决方案建议??????

1 个答案:

答案 0 :(得分:1)

解决方案是拥有一个"产品"表,包含表A和表B中的引用。

因此,如果您在 A set 中更新国家/地区的产品,则会立即更新 B 设置中的匹配项。

这意味着要检查您的数据模型:数据库中的基本规则您不应该有复制信息