このビューをクエリすると、ビューが遅くなります。ただし、NVL機能を削除すると、高速に実行されます。
実行計画を確認しましたが、NVL 関数が使用されている場合、インデックスは使用されていません。NVL 関数を使用しない場合はインデックスです。インデックスをヒントとして指定しようとしましたが、役に立ちませんでした。実行中にヒントが考慮されるかどうかは不明です。
以下は、ビューとビューの作成に使用されるクエリです。
CREATE OR REPLACE FORCE VIEW "test"(a,b)
select NVL(table1.a,table2.a) a,table2.b from table1 join table2 on table1.id=table2.id
ビューで使用しているクエリは
select * from test where a='XYZ'
上記のクエリを高速に実行するにはどうすればよいですか?