2

私は Oracle DB を使用しており、Spring JDBC Temple を使用してマージ クエリを発行しようとしています。

サンプルの oracle クエリは次のとおりです。

 MERGE INTO table_name  b
     USING (select 'id','fid','somedata' from DUAL a
     ON (a.id = b.id and a.fid = b.id)
    WHEN MATCHED THEN
     UPDATE SET col_name = 'some_val' where  lastUpdateTime > someTime
    WHEN NOT MATCHED THEN
     INSERT (id,fid col_name)
     VALUES ('id','fid', 'some_val')

このクエリは以前は適切に実行されていましたが、現在は非常に遅く実行されています (分単位)

テーブルの詳細: レコードの作成日で分割された
複合主キーとしての id,fid 。 テーブル内のレコード数は約 1,500 万


クエリのパフォーマンスが非常に遅いのはなぜですか?

4

1 に答える 1

1

数分間実行されている場合は、次を使用して説明を見つける必要があります

select * from v$session_longops where time_remaining > 0
于 2013-11-14T14:05:41.003 に答える