0

我目前正在尝试从几个表中获取行数。当我直接运行它时,它会在几毫秒内执行并返回。但是,当我尝试使用 refcursor 返回类型执行相同的查询时,它需要一分钟多的时间。我也在应用程序的其他部分以相同的格式运行类似的查询,它们执行得很好。

删除内部联接使其在几毫秒内运行,但我需要保留内部联接才能对表进行一些动态查询。它还取决于这个特定的 where 子句。在其他列上运行 where 子句不会导致此问题。

BEGIN OPEN:tableCount FOR SELECT COUNT(*)
FROM TABLE1
INNER JOIN TABLE2
ON TABLE1.ID = TABLE2.ID
WHERE TABLEVALUE = 300;
END;

不知道为什么用 refcursor 包装查询会增加执行时间。帮助了解为什么会发生这种情况以及如何解决它会很棒。

4

0 回答 0