今日、私は内部結合で同じ問題を経験しました。 テーブル値関数 を作成する場合 codechurn によって提案されました または、一時テーブル を使用します user1935511 による提案 または、参加タイプ を変更します cymorg による提案 私には選択肢がありません。自分のソリューションを共有したいと思います。
結合のヒント を使用しました 問題はネストされたループから発生しているように見えるため、クエリオプティマイザを正しい方向に駆動し、リモートテーブルとローカルで戦略を結合します。私にとってHASH 、 MERGE およびREMOTE 参加のヒントが機能しました。
あなたのためにリモート 内部結合操作にのみ使用できるため、オプションにはなりません。したがって、次のようなものを使用すると機能するはずです。
select *
from eopf.Batch b
join eopf.BatchFile bf
on b.BatchID = bf.BatchID
left outer merge join [OM_ORACLE]..[OM].[DOCUMENT_UPLOAD] du
on bf.ReferenceID = du.documentUploadID;