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 作为 在记录创建日期分区的
复合主键。 表中的记录数约为 1500 万


为什么查询性能这么慢?

4

1 回答 1

1

当它运行几分钟时,您应该使用

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