oracle - 数据库链接使用好或坏
问题描述
我有一种情况,我必须将 xml 提要路由到单个模式中并将数据与多个模式同步。
前任。SCHEMA_1@DB1、SCHEMA_2@DB2
文件将发送到 SCHEMA_1,并且还需要插入、更新或从第二个中选择操作数据。
同时,我正在使用 DB 链接来满足这一要求,并且很想知道我正在采用好的方法。
注意:我必须在程序的帮助下执行此任务,这只是我使用数据库链接的原因。
请建议这种方法是否存在任何性能问题或可能发生任何动态错误情况,如果有其他缺点。
解决方案
你的问题不容易回答。我会尝试坚持您在项目/其他项目中使用的通信策略。
如果您使用网络服务进行通信,您也可以使用它来解决您的问题。但是,如果您还没有任何接口,那么 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”上计算。如果您在另一个数据库中有一个非常小的本地表和一个更大的本地表,这将很有用。您总是应该先过滤大的,然后再开始加入其他表。
无论如何:每种情况都有它自己的要求。
推荐阅读
- flutter - 如何解决此错误:在 null 上调用了方法“[]”。接收者:null 尝试调用:[]("name")
- sql-server - 数据存在时 SSDT 更新架构
- java - 如何在括号中查找元素
- javascript - 如何设置 Material UI 表头的样式?
- python - 澄清 PyTorch 上的 TorchScripts 和 JIT
- javascript - 在 Azure Web App/内置 Azure DevOps 中配置 javascript 设置
- vue.js - 显示作为响应收到的图像 - Vue.js
- c# - linq to sql if control
- machine-learning - 我应该改变什么来准备我的机器学习模型以在烧瓶中创建 API 以进行 Web 部署
- oop - 在 Dart 中扩展抽象类是否会给子类另一个构造函数