Oracle 游标中定义的查询执行多少次?

Oracle 游标中定义的查询执行多少次?,oracle,stored-procedures,plsql,cursor,Oracle,Stored Procedures,Plsql,Cursor,我在Oracle数据库中有一个存储过程。 在这个存储过程中,我定义了一个游标 我使用以下方法迭代结果集: FOR item IN cursor_name LOOP END LOOP; 查询执行多少次?有没有办法让我知道?这也是最好的方法,还是我应该以不同的方式迭代 谢谢。游标游标\u name中的查询只执行一次。从该游标获取的次数取决于。每个提取意味着一个上下文切换。从Oracle版本10开始,如果您将参数设置为其默认值2或更高,将启动优化,您将一次获取100行。如果没有这个,您将分别获取每一

我在Oracle数据库中有一个存储过程。
在这个存储过程中,我定义了一个游标

我使用以下方法迭代结果集:

FOR item IN cursor_name LOOP
END LOOP;
查询执行多少次?有没有办法让我知道?这也是最好的方法,还是我应该以不同的方式迭代


谢谢。

游标
游标\u name
中的查询只执行一次。从该游标获取的次数取决于。每个提取意味着一个上下文切换。从Oracle版本10开始,如果您将参数设置为其默认值2或更高,将启动优化,您将一次获取100行。如果没有这个,您将分别获取每一行。这将在获取大量行时严重影响性能

还要注意不要将SQL语句放入循环中。当您这样做时,很明显,您将执行这些语句的次数与从游标获取的行的次数相同

问候,
Rob.

看看这个“AskTom”,也读一下: