/*+DRIVING_SITE(rd)*/
マージされたテーブルが置かれているデータベースで操作を実行する必要があるため、ヒントはMERGEでは機能しません。この場合、これはローカルデータベースです。つまり、結果セット全体 リモートテーブルからはデータベースリンクを介してプルされ、ローカルテーブルからのデータに対してフィルタリングされます。
したがって、ヒントを破棄します。また、IN句を結合に変換することをお勧めします:
Merge into project p
using (select rp.projectID,
rp.otherdata
FROM Project ld
inner join [email protected] rd
on rd.projectID = ld.projectID
where ld.LastUpdated < (sysdate - 6/24)) q
-- This select in the in clause one returns 10 rows. Its a test database.
On (q.projectID = p.projectID)
)
十分な詳細がないパフォーマンスチューニングの質問への回答は、単なる推測であることに注意してください。 。