次に、Oracle以外のシステムへのアクセスに対するオプティマイザの制限を示します。
リモート・オブジェクトに関する列統計情報はありません。このため、適切な実行計画が得られない場合があります。実行計画を検証し、ヒントを使用して最適化してください。
リモート結合を強制するオプティマイザ・ヒントはありません。ただし、リモート問合せブロック最適化を使用すると、問合せをわずかにリライトしてリモート結合を実現することができます。
前項の例の記述は、次の形式にリライトできます。
SELECT v.ename, d.dname, d.deptno FROM dept d, (SELECT /*+ NO_MERGE */ e.deptno deptno, e.ename ename emp@remote_db e, emp@remote_db f WHERE e.mgr = f.empno AND e.empno = f.empno; ) WHERE v.deptno = d.deptno;
この例では、リモート結合が保証されています。これは、NO_MERGE
ヒントを使用してネストした問合せ内に分離されるためです。