首页 > 解决方案 > 数据库链接使用好或坏

问题描述

我有一种情况,我必须将 xml 提要路由到单个模式中并将数据与多个模式同步。

前任。SCHEMA_1@DB1、SCHEMA_2@DB2

文件将发送到 SCHEMA_1,并且还需要插入、更新或从第二个中选择操作数据。

同时,我正在使用 DB 链接来满足这一要求,并且很想知道我正在采用好的方法。

注意:我必须在程序的帮助下执行此任务,这只是我使用数据库链接的原因。

请建议这种方法是否存在任何性能问题或可能发生任何动态错误情况,如果有其他缺点。

标签: oracleplsql

解决方案


你的问题不容易回答。我会尝试坚持您在项目/其他项目中使用的通信策略。

如果您使用网络服务进行通信,您也可以使用它来解决您的问题。但是,如果您还没有任何接口,那么 db-links 是移动数据的最简单方法。这样你就不需要编写任何代码(听起来你已经有了一些存储过程)。

但请注意:

forall并且bulk collect不能在 db-link 上工作。如果您不需要它们,我认为使用 db-links 没有问题。

并考虑为更大的选择添加提示:

SELECT /*+DRIVING_SITE(b)*/
      *
  FROM localTable a, otherTable@otherDb b
 WHERE a.id = b.id
   AND a.Name like '%x%'
   AND b.Name like '%y%';

这样你告诉你的数据库,该语句应该在“otherDb”上计算。如果您在另一个数据库中有一个非常小的本地表和一个更大的本地表,这将很有用。您总是应该先过滤大的,然后再开始加入其他表。

无论如何:每种情况都有它自己的要求。


推荐阅读