私は 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 万
クエリのパフォーマンスが非常に遅いのはなぜですか?