我写了一个像这样的SQL查询:
LOOP
FETCH cursorA
BULK COLLECT INTO structure1 LIMIT 1000;
EXIT WHEN structure1.COUNT = 0;
FORALL i IN 1 .. structure1.COUNT
-- do something;
--write time it took to finish loop
END LOOP;
我注意到第一次查询提取需要很长时间才能完成相对于第二,第三和其他查询。
这是预期的行为吗?
有人可以解释一下幕后发生的事情吗?
答案 0 :(得分:0)
据我们所知,这种行为并没有错。
第一次执行此操作"获取LIMIT 1000
"可能需要更多时间,因为
此外,根据您的数据库服务器体系结构(例如&gt; 1 proc),当您处理第一次提取的结果时,第二次提取正在并行处理,使第二次提取 看起来< / em> 更短(也适用于下一个)。