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

リンク サーバーを介して分散トランザクションを登録しようとしているかどうかを知っていますか? 呼び出しが行われたときに Oracle からのトレース出力を見ると、発生している要求の違いを確認できるはずです。IIRC では、標準のリンク クエリは、OPENQUERY 呼び出しとは異なる方法で、Oracle メタデータからスキーマ情報を要求します。なぜこれが起こるのか正確にはわかりませんが、過去に同様の問題があり、OPENQUERY を使用して解決しました。

于 2009-06-01T19:50:50.180 に答える
0

Openquery は宛先サーバーに直接接続します。あなたは RDBMS と言いましたが、データと通信する他の方法については言及していませんでした。

于 2009-05-31T05:38:16.540 に答える