Oracle データベースでビュー オブジェクトを実行しようとすると、異常な問題が発生します。クエリ自体は、Toad for Oracle を使用して 10 秒以内に実行されますが、ビュー オブジェクトで同じクエリを実行するには 1 分以上かかります。JDeveloper 10.1.3.3.0.4157 を ADF とともに使用しており、10g Oracle データベースに接続しています。
私が見つけたのは、実行が行われている間、データベース サーバーが 128 バイトのデータで常に「ping」されていることです (これは Wireshark を使用して行いました)。これにより、接続が妨げられ、データがアプリケーションに到達するまでに時間がかかります。この理論をセッション トレースでテストしたところ、クエリ自体が Toad のクエリと同じ時間枠で実行されることがわかりました。
問題はデータベース ドライバーのどこかにあると思いますが、デバッグできないため手ぶらで済みます。
どんな提案でもいただければ幸いです!
より詳しい情報:
問題のクエリはやや大きいです。これも実行時に組み込まれ、可変です (ただし、属性の数、名前、およびタイプは一定です)。興味深い点は、クエリが小さい (小さい) 場合、実行時間が Toad の実行に存在する時間まで低下することです。
同様の「ping」効果が、同じアプリケーション モジュールに属する別のビューで検出されましたが、テストの結果、これは AM 構成の問題ではなく、他のすべてのものと同じであり、正常に動作しているためです。さらに、問題のクエリと同じ AM の他のビューには、同じ問題の兆候は見られません。
ビューのチューニング設定で遊んでいますが、実行時間に違いはありません。