KSQL脚本写法不佳导致EAS系统升级超慢

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

KSQL脚本写法不佳导致EAS系统升级超慢

所属模块系统性能
适用版本EAS 6.0, EAS 7.0.1, EAS 7.0.2及之后版本
问题描述KSQL脚本写法不佳导致EAS系统升级超慢。对应的一条sql语句如下所示:UPDATE t_cas_paymentbill SET (fsourcebillid) = (SELECT t2.fsourcebillid FROMt_cas_paymentbillentry T2 WHERE t2.fpaymentbillid = t_cas_paymentbill.fid ANDROWNUM <= 1) WHERE EXISTS (SELECT t2.fsourcebillidFROM t_cas_paymentbillentry T2 WHERE t2.fpaymentbillid = t_cas_paymentbill.fidAND ROWNUM <= 1); (当前问题出现的环境:AIX 系统+ORACLE 10G)

原因分析 1.KSQL语句会自动带上一些附加条件,这些条件会影响整体性能。2.KSQL语句的写法不是最佳:update语句跟普通select语句是不一样的,它的原理是一条一条更新记录,则where条件也要每更新一条记录,过滤一次,如果里面有几十万条记录,则要过滤几十万次。大大的耗用了cpu的时间。

解决方法将KSQL的写法改为标准SQL的写法来提升升级脚本执行的速度。修改的地方有:1.把where条件去掉,改为用NVL( ,fsourcebillid)。2.ROWNNUM<=1 改为了 ROWNUM=1 减少了CPU的时间。3.运用上t2.fpaymentbillid这个索引。修改后的sql语句如下所示: UPDATE t_cas_paymentbill SET (fsourcebillid) = NVL((SELECT t2.fsourcebillid FROM t_cas_paymentbillentryT2 WHERE t2.fpaymentbillid = t_cas_paymentbill.fid AND ROWNUM = 1),fsourcebillid);

关键字升级KSQL脚本更新超慢

KSQL脚本写法不佳导致EAS系统升级超慢

所属模块系统性能适用版本EAS 6.0, EAS 7.0.1, EAS 7.0.2及之后版本问题描述KSQL脚本写法不佳导致EAS系统升级超慢。对应的一条sql语句...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息