8

试图弄清楚为什么两者之间存在如此显着的差异

select * from linkedserver..tablename

select * from openquery(linkedserver, select * from tablename).

4 分钟对 13 秒。

4

3 回答 3

4

OPENQUERY 连接到目标服务器并在该服务器上运行查询并返回结果集。然而,我相信链接服务器查询是在本地服务器上执行的,并通过连接运行。

希望这可以帮助。

于 2010-05-12T15:42:48.293 回答
0

Openquery 直接连接到目标服务器。尽管说了 RDBMS,但您没有说与数据通信的另一种方式是什么。

于 2009-05-31T05:38:16.540 回答
0

你知道它是否试图在链接服务器上征集分布式事务吗?如果您在进行调用时观察 Oracle 的 Trace 输出,您应该能够看到发生的请求的差异。IIRC,标准链接查询将以不同于 OPENQUERY 调用的方式从 oracle 元数据中请求模式信息。我不确切知道为什么会发生这种情况,但我过去遇到过类似的问题,通过使用 OPENQUERY 已解决。

于 2009-06-01T19:50:50.180 回答