Oracle Database Link を使用して、SQL Server からデータをクエリします。クエリは次のようになります。
select *
from tableA@DL_SqlServer a
join tableB@DL_SqlServer b
on a.ID = b.ID
tableA と tableB は大きく、結果は比較的小さいです。インデックスは 2 つのテーブルの両方に作成されるため、このクエリは SQL Server ですばやく実行されます。しかし、SQL Server への Oracle データベース リンクでは非常に低速です。結合操作は SQL Server 側ではなく Oracle 側で実行されると思われるため、インデックスは使用されません。結合された結果が必要なだけなので、クエリ全体を SQL Server で実行し、小さな結果のみを取得することを好みます。SQL Server のリンク サーバーと OPENQUERY 関数を使用すると、この目標を達成できることがわかっています。Oracle Database Linkでこれを行う方法を知りたいです。ありがとう!ところで、私には SQL Sevrer でビューを作成する権限がありません。