VIEW1 は:
SELECT A, B, C FROM view2
UNION ALL
SELECT A, B, C FROM view3
INNER JOIN TBL5 ON view3.CODE = TBL5.CODE
列 C はソース テーブルでインデックス付けされており、select ステートメントのいずれかを個別に実行すると、インデックスが使用され、すぐに戻ってきます。ビューを使用するとタイムアウトします。SELECT * FROM VIEW1
私は、オラクルがビューに対してクエリを書き直し、事後に述語を適用するのではなく、有用な場合はインデックスを使用したという印象を受けました。
私は何を間違っていますか?上記のサンプルビューは問題を明らかにしていますが、実際のビューはそれぞれ数十のテーブルを結合しているため、ビューが本当に必要です。