sqlrpgle比rpgle程序效率高???
最近做数据迁移,写了俩个程序。
一个rpgle,一个sqlrpgle(百万级的数据量)测试发现sqlrpgle比rpgle快了近十倍。。。
怎么搞的??听高手说不是rpgle快吗??
谁能说出有些什么原因会出现这种情况??先谢谢了
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(7)
SQLRPGLE嵌入SQL语句(采用SQE引擎),主要应用于复杂逻辑的查询、报表生成等实现,在新版本下SQL的执行效率已经提升了很多。
RPGLE主要是使用CQE引擎,效率上肯定要比SQLRPGLE要快,但如果是大数量的访问,你会发现RPGLE的I/O会明显高于SQLRPGLE,也因此在效率上会打折。
在不同的应用环境下,采用不同的技术实现,是适当的;不必过于追求哪个更强哪个较弱。
SQLRPGLE的优化,IBM也是迫于竞争压力和市场需要,毕竟现在纯粹编程的人越来越少了,学校里学的都是SQL,所以为了实现更广泛的支持,越来越优化SQL的执行效率是前瞻性的问题。
但RPGLE作为AS/400的原生语言,优势还是很明显的,至少不比C/C++差。
合理使用RPGLE配合文件key使用会使执行效率提升N倍。
在一定条件下,SQLrpgle比RPGLE 快。例如全表遍历更新,全表数据拷贝到另一个表,全表检索。
这是由于IBM在数据库方面进行了调优,底层使用的是多线程操作。
我在做数据迁移的时候也发现了这一点,有个原来rpgle的程序执行了16分钟,SQLRPGLE执行了10秒钟。
SQLRPGLE很适合做数据迁移这样的活,个人觉得最好不要用来做并发量大的联机业务。
嗯。。。还是决定用sqlrpgle了。
我个人觉得遍历一个档案sqlrpgle应该要快的。。
因为最接近数据库底层啊(都是sql语言了)
sql语句肯定有优化处理的
前及天听IBM国内实验室介绍OS400 V7版本DB2/400新更能,大大提升了查询性能,SQLRPGLE查询效率也很不错了。
如果用RPG CYCLE做数据迁移,处理时间肯定大大超出sqlrpgle速度。你会对rpg cycle的运行速度快感到非常惊奇。
SQLRPGLE一般是处理一些数据的统计的(我是比较少用),RPGLE速度应该比较快。不过应该也要看你程序怎么处理的。。。。。
精心去写,rpgle效率高