合并查询运行速度很慢

时间:2013-11-14 12:52:36

标签: sql oracle merge

我正在使用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作为复合主键
在记录creationDate上分区。
表中的记录数量约为1500万左右

为什么查询执行速度如此之慢?

1 个答案:

答案 0 :(得分:1)

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

找到解释
select * from v$session_longops where time_remaining > 0