【问题标题】:Small table to Big table update小表到大表更新
【发布时间】:2017-05-04 11:11:11
【问题描述】:

问题详情:-

表 1:- Product_Country A

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

表 2:- Product_Outlet B

描述:- 包含产品 ID 和其他详细信息以及奥特莱斯代码

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

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

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

3.) 有一些规则可以更新表 B 中的详细信息,还有一些 if else 条件,我们根据这些规则在其中更新和创建记录。

当前解决方案:- 有一个触发器在更新/插入 A 时将条目放入临时表中, 从那里每天安排两次 PL/SQL 作业,获取数据并在表 B 中更新/插入。 考虑过这个方案,因为在 A 表之后立即更新 B 表会消耗很多时间,并且应用程序将无响应。

已考虑但拒绝的解决方案:- 1.)在A表之后更新表B,会消耗很多时间。

2.) 增加计划作业的频率会占用数据库。

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

【问题讨论】:

  • 如果您可以为您的两个表提供示例数据以及您期望的输出,那将会更有帮助。例如,您会在 product_country 中更新哪些类型的详细信息,而您还需要在 product_outlet 中进行更新?
  • 这是作业吗?

标签: java sql plsql architecture software-design


【解决方案1】:

一种解决方案是创建一个“产品”表,其中包含来自表 A 和表 B 的引用。

因此,如果您为 A 集合 中的国家/地区更新产品,它也会立即针对 B 集合中出现的情况进行更新。

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

【讨论】:

    猜你喜欢
    • 2023-03-24
    • 1970-01-01
    • 2016-04-26
    • 2019-08-20
    • 1970-01-01
    • 2011-08-31
    • 2015-06-28
    • 2019-02-11
    • 2011-01-01
    相关资源
    最近更新 更多