0

次の条件の Oracle ビューがあります。

CREATE OR REPLACE FORCE EDITIONABLE VIEW .....
.
.
select *  from 
(select t1.*,(select t.enddate from (select enddate,empid,
  ROW_NUMBER() OVER (PARTITION BY empid ORDER BY enddate desc) as seqnum
  from employee t2
  where t2.empid=t1.empid) t
   where seqnum=1)  As enddate_1 from (select * from
(select WED.*,ROW_NUMBER() OVER (PARTITION BY empid ORDER BY startdate desc) as seqnum from 
(select t1.*,COUNT(*) OVER (PARTITION BY empid) WDECOUNT from employee t1) WED
where WDECOUNT=1 or WED.startdate <= sysdate)) t1 WHERE seqnum=1);

このビューは、従業員のデータを取得するために、Wildfly サーバーの 20 または 30 の Java 統合によって使用されます。

最後の 7 日間の作成以来、50 レコードを返すのに 6 秒かかっていましたが、同じレコードを取得するのに突然 1.5 秒かかっています (view sql に変更はありません)。

オラクルの履歴を確認しましたが、キャッシュのクリア コマンドやロックの種類は見つかりませんでした。

あなたによると、パフォーマンスが急激に向上する確率はどのくらいですか?

(これはさまざまなラップトップでテスト中であり、すべてで同じ動作が見つかりました(低速および突然の速度)。ワイルドフライの接続プールには疑問がありますが、他のテーブルは正常に機能しています。

いくつかのインデックス作成が行われている場合(履歴に見つからない場合)、またはリソースが提供されている場合など、オラクルについてはまったく認識していません。誰かがオラクルの角度からも助けることができれば)

履歴を確認するために使用したOracleクエリ:

SELECT v.FIRST_LOAD_TIME, CPU_TIME, ELAPSED_TIME, PARSING_SCHEMA_NAME, MODULE, V.* FROM V$SQL V 
where PARSING_SCHEMA_NAME = 'MAHTERJEEDATA' order by v.FIRST_LOAD_TIME desc;

Oracle Database 12c リリース 12.1.0.1.0 - 64 ビット製品

4

1 に答える 1