楼主: wangzhimin_SAP

【求助】ABAP程序优化问题

[复制链接]
论坛徽章:
0
21#
 楼主| 发表于 2015-9-2 09:24 | 只看该作者
WTF713 发表于 2015-9-2 09:18
AND  mseg~matnr = gt_zmm-wlbh  ”销售发货单信息中的物料号
不要用For all entries, 可以把物料号放到ra ...

我正在想那几个where怎么拆开来用~不错的主意

使用道具 举报

回复
论坛徽章:
4
ITPUB十周年纪念徽章
日期:2011-11-01 16:23:26夏利
日期:2014-01-17 15:08:152014年新春福章
日期:2014-02-18 16:42:02马上有房
日期:2014-02-18 16:42:02
22#
发表于 2015-9-2 09:38 | 只看该作者
wangzhimin_SAP 发表于 2015-9-2 09:24
我正在想那几个where怎么拆开来用~不错的主意

可以用SAT跑一下程序, 看具体是哪里慢,然后再有针对性优化. 一般情况下表里加个索引,就能解决问题

使用道具 举报

回复
论坛徽章:
0
23#
 楼主| 发表于 2015-9-2 09:41 | 只看该作者
WTF713 发表于 2015-9-2 09:38
可以用SAT跑一下程序, 看具体是哪里慢,然后再有针对性优化. 一般情况下表里加个索引,就能解决问题

就是卡在这段代码上,时间很长,上次还崩溃了,后来调整下了凭证起始时间,但那不是解决问题的根本办法,所以想优化下这段代码。

使用道具 举报

回复
论坛徽章:
10
生肖徽章:牛
日期:2007-01-25 16:50:07参与SAP云计算之旅活动纪念
日期:2011-05-17 13:35:452011新春纪念徽章
日期:2011-02-18 11:43:35ITPUB9周年纪念徽章
日期:2010-10-08 09:31:212009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:牛
日期:2008-11-19 11:43:57ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44生肖徽章:狗
日期:2007-09-26 17:03:08生肖徽章:龙
日期:2007-09-26 17:02:10咸鸭蛋
日期:2011-07-27 13:25:50
24#
发表于 2015-9-6 14:15 | 只看该作者
通过SAP Note 1516684, 你3个表的innner join可以减少到2个。

另外,料号不多的话(比如,1000个以内),可以把for all entries改成in range.

这样这个sql的性能应该可以提升很多。

使用道具 举报

回复
论坛徽章:
1
秀才
日期:2015-09-06 10:42:32
25#
发表于 2015-9-7 16:08 | 只看该作者
本帖最后由 JERRY623 于 2015-9-7 16:09 编辑

楼上几位已经在我心中树立了神一般的形象,请收下我的膝盖。。

                                                         -----来自一位想学习ABAP的saper

使用道具 举报

回复
论坛徽章:
1
ITPUB新首页上线纪念徽章
日期:2007-10-20 08:38:44
26#
发表于 2015-9-7 20:52 | 只看该作者
wangzhimin_SAP 发表于 2015-9-1 20:24
我正在想那几个where怎么拆开来用~不错的主意

这个是典型的ABAP performance issue。和ABAP编程经验和技巧有很密切的联系。

提取数据应尽量减少访问数据库的次数且充分利用内表,以便达到减少CPU运行时间。

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
27#
发表于 2015-9-7 23:40 来自手机 | 只看该作者
WTF713 发表于 2015-9-2 09:18
AND  mseg~matnr = gt_zmm-wlbh  ”销售发货单信息中的物料号
不要用For all entries, 可以把物料号放到ra ...

这个建议不错

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
28#
发表于 2015-9-7 23:41 来自手机 | 只看该作者
WTF713 发表于 2015-9-2 09:38
可以用SAT跑一下程序, 看具体是哪里慢,然后再有针对性优化. 一般情况下表里加个索引,就能解决问题

不建议给mseg加索引,可能会更慢

使用道具 举报

回复
求职 : SAP实施
论坛徽章:
261
土豪章
日期:2018-07-10 16:19:05ITPUB18周年纪念章
日期:2018-09-17 10:09:49ITPUB18周年纪念章
日期:2018-09-17 10:12:57妮可·罗宾
日期:2018-10-28 13:07:10ITPUB18周年纪念章
日期:2018-11-13 15:31:24ITPUB18周年纪念章
日期:2018-11-13 15:40:4519周年集字徽章-庆
日期:2019-09-06 18:30:1219周年集字徽章-19
日期:2021-02-03 16:43:4820周年集字徽章-年	
日期:2023-07-21 18:25:26
29#
发表于 2015-9-7 23:41 来自手机 | 只看该作者
WTF713 发表于 2015-9-2 09:38
可以用SAT跑一下程序, 看具体是哪里慢,然后再有针对性优化. 一般情况下表里加个索引,就能解决问题

不建议给mseg加索引,可能会更慢

使用道具 举报

回复
论坛徽章:
4
ITPUB十周年纪念徽章
日期:2011-11-01 16:25:51马上有房
日期:2015-01-07 13:54:23喜羊羊
日期:2015-03-04 14:52:462015年新春福章
日期:2015-03-06 11:58:18
30#
发表于 2015-9-8 10:33 | 只看该作者
通过MSEG MKPF 创建视图v_mseg ,条件是固定  mkpf~bldat > '20150601'   
      AND  ( mseg~bwart = '601' OR mseg~bwart = '602' "销售出库的移动类型 已经去除了生产出库移动类型  261和262
OR mseg~bwart = 'Z61' OR mseg~bwart = 'Z62' OR mseg~bwart = '657' OR mseg~bwart = '658'
然后将 gt_zmm  表的物料汇总  gt_sum ,通过汇总后的表数据量减少,用创建的视图 V_MSEG 和GT_SUM  FOR ALL ENTRIES IN  速度最少提高K级倍

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表