JDeveloper ADF Webアプリケーションで実行中の問合せに奇妙な問題があります。Oracle 10g データベースに select 文を発行するシンプルな検索フォームです。検索が送信されると、ADF フレームワークは (最初に) クエリを実行し、(2 番目に) " " で囲まれた同じクエリを実行します。select count(1) from (...query...)
ここでの目標は、行の総数を取得し、"次の 10 件の結果" を表示することです。ナビゲーション コントロール。
ここまでは順調ですね。問題は、2 番目のクエリ (" " が含まれるクエリ) から得られるとんでもないパフォーマンスから発生しますcount(1)
。この問題を調査するために、SQL Developer でクエリをコピー/貼り付け/実行したところ、はるかに優れた応答が得られて驚きました。
ADF と SQL Developer でのクエリの実行を比較するとき、両方の実行の代表的な環境を確保するためにあらゆる手段を講じました。 、どちらの場合も、db とアプリケーション サーバーが新たに (再) 起動されました。
両方のセッションで取得したトレースは、状況を示しています。
ADF で実行されたクエリ:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.97 0.97 0 0 0 0
Fetch 1 59.42 152.80 35129 1404149 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 60.39 153.77 35129 1404149 0 1
SQL Developer での同じクエリ:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 1.02 1.16 0 0 0 0
Fetch 1 1.04 3.28 4638 4567 0 1
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 3 2.07 4.45 4638 4567 0 1
コメントや提案をお寄せいただきありがとうございます。