Oracle 在远程数据库中查询时的性能平衡

Oracle 在远程数据库中查询时的性能平衡,oracle,performance,join,dblink,isolation,Oracle,Performance,Join,Dblink,Isolation,我们正在处理2个AIX7服务器和2个Oracle数据库12.1.0.2。 本主题中调用的数据库DB1是我们的中心产品数据库。 本主题中调用的第二个数据库DB2也是一个生产数据库,但用于非关键应用程序 我们希望通过连接中央生产数据库DB1,尽可能少地隔离在DB2上执行的traitement影响。 这些缺陷使用DBLINK读取DB1数据 因此,问题是: 如果我们执行如下查询 select col1, col2 from table1@dblink_DB1, table2@dblink_DB1 whe

我们正在处理2个AIX7服务器和2个Oracle数据库12.1.0.2。 本主题中调用的数据库DB1是我们的中心产品数据库。 本主题中调用的第二个数据库DB2也是一个生产数据库,但用于非关键应用程序

我们希望通过连接中央生产数据库DB1,尽可能少地隔离在DB2上执行的traitement影响。 这些缺陷使用DBLINK读取DB1数据

因此,问题是: 如果我们执行如下查询

select col1, col2 from table1@dblink_DB1, table2@dblink_DB1 where JOIN DB1/DB2
在哪台服务器上执行加入处理? 是否只有读取发生在DB1上,所以在DB2上使用SGA/CPU执行低性能case和JOIN处理?
或者一切都在DB1上执行吗?

这种可以完全远程执行的查询,不需要访问本地数据库,通常在远程数据库链接站点上运行,比在本地数据库上运行要好得多,因为在这种情况下,它将读取前导表并从中运行Select*table@dblink_DB1其中col=:a是从table1@dblink_DB2. 当然,您可以使用hint-driving\u站点强制它在本地运行,但在这种情况下,它对这两个数据库的效果都要差得多。阅读更多关于驾驶提示的信息。您现在还应该知道,dml语句更新/删除/合并/插入总是在您更改数据的数据库上工作。

EDIT:Hello!我们正在处理2台AIX7服务器和2个Oracle数据库12.1.0.2数据库您好!谢谢你提供这些细节。题目回答了!祝您有个美好的一天!