奇怪的现象,请大家帮忙分析分析
使用proc编的一段程序,出现性能问题,最终解决了现象,但原因仍然令我费解
现象:
(1)用proc,从一张表A中取记录(表中有12条),取出的结果放到一个数组里数组最大值常量CONST也为12,取出方法是,循环用EXEC SQL FETCH ...取
例:for (LI_ii=0;LI_ii<CONST ;LI_ii++)
{
EXEC SQL FETCH ...
}
(2)完成后,再用同样方法从其他表中取数据。
这时(2)的执行完成时间大约4分钟。
之后发现,表A中如果大于12条记录时,比如13,14条时,数组最大值常量仍为12,(2)的执行速度居然变快到2分钟。百思不得其解。
请那位大侠帮忙分析分析,谢谢