RPGIV编程问题百解(27)RPG遍历记录处理性能改善
问题:
我想请教一下,当RPG程序所要处理的数据量非常大的时候(例如用主表100万条记录,再遍历上1000万条记录的副表),这种情况下,该如何来提高程序的运行效率而又不过多占用系统资源?
回答:
对记录遍历处理,用rpg cycle处理效率是最高的。
rpg的诞生,ibm就提供rpg处理的最佳处理模式:cycle。只不过,现代编程非常少用rpg cycle。
RPG报表生成器,就是程序自动完成输入输出处理。后来,非常大的客户不习惯程序中没有read、write的语句,ibm就添加了这类处理指令。呵呵,每个read需要占用系统7、8ns。
又问:
就是系统自动循环读记录了吧,这个是通过什么方法提高效率的?有IO消耗吗?
回答:
IO肯定要使用,只不过比read语句处理时间缩短。
又问:
感觉程序环易读性不强,也不容易控制。我一般简单的遍历程序会用程序环。
回答:
对中国程序员来说,rpg cycle是个非常抽象的东西。
每个计算机语言都有它的特性。C语言就没有read语句,但是它可以达到read的效果。rpg就是像C中那样,read语句实现read的处理。cycle可能像C处理read那样,使用底层的处理。
其它:
rpg cycle处理:
用P定义rpg的主处理文件,也就是rpg处理的触发处理的数据源。每个rpg只允许一个P类文件。其它S和O可以多个。
阅读(986) | 评论(0) | 转发(0) |