gpt4 book ai didi

java - SymmetricDS 如何在转换期间过滤行

转载 作者:行者123 更新时间:2023-11-29 05:27:17 24 4
gpt4 key购买 nike

我将 SymmetricDS 与许多商店节点和一个公司节点一起使用。

我必须在存储节点中的表与公司节点中的表之间进行转换同步,并使用 sym_transform_table 和 sym_transform_column 成功配置它们之间的转换。现在源表的所有行都被转换或复制到 corp 节点中的目标表。我想阻止或过滤源表中的某些行移动到目标表。实现这一目标的任何想法。

实际场景:必须将商店中具有特定年龄的客户(客户表中的行的子集)复制转换为具有不同列名的 corp 节点中的 master_customer 表。

最佳答案

路由器用于过滤数据。而不是 default路由器使用 lookup , subselect , 或 BSH路由器。

Lookup将是最快的,但需要在您的数据库中创建一个单独的查找表来引用哪些年龄可以发送,哪些不能发送。

BSH会花一点时间,但可以处理像 if (age < 65 && age >= 18) 这样的逻辑.

Subselect路由器将花费最长的时间,因为每次需要路由记录时它都必须查询数据库。此查询可以从数据库中选择一个值进行比较,或者只是与您可以放入 BSH 路由器表达式中的逻辑类型相同。

如果您的过滤取决于转换后的值,请确保转换发生在源节点而不是目标节点 (TRANSFORM_POINT='EXTRACT')。如果要在转换之前进行过滤,请确保转换发生在目标 (TRANSFORM_POINT='LOAD')。如果这无关紧要,您可能希望转换发生在 EXTRACT 以从服务器卸载处理工作。

关于java - SymmetricDS 如何在转换期间过滤行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22254400/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com