`

如何优化ABAP性能

    博客分类:
  • ABAP
阅读更多
1、使用where语句
不推荐
Select * from zflight.
Check : zflight-airln = ‘LF’ and zflight-fligh = ‘BW222’.
Endselect.
推荐
Select * from zflight where airln = ‘LF’ and fligh = ‘222’.
Endselect.

2、使用聚合函数
不推荐
Maxnu = 0.
Select * from zflight where airln = ‘LF’ and cntry = ‘IN’.
Check zflight-fligh > maxnu.
Maxnu = zflight-fligh.
Endselect.
推荐
Select max( fligh ) from zflight into maxnu where airln = ‘LF’ and cntry = ‘IN’.

3、使用视图代替基本表查询
不推荐
Select * from zcntry where cntry like ‘IN%’.
Select single * from zflight where cntry = zcntry-cntry and airln = ‘LF’.
Endselect.
推荐
Select * from zcnfl where cntry like ‘IN%’ and airln = ‘LF’.
Endselect.

4、使用INTO table 代替select endselect
不推荐
Refresh: int_fligh.
Select * from zflight into int_fligh.
Append int_fligh. Clear int_fligh.
Endselect.
推荐
Refresh: int_fligh.
Select * from zflight into table int_fligh.

5、使用批量修改内表代替逐行修改
不推荐
Loop at int_fligh.
If int_fligh-flag is initial.
Int_fligh-flag = ‘X’.
Endif.
Modify int_fligh.
Endloop.
推荐
Int_fligh-flag = ‘X’.
Modify int_fligh transporting flag where flag is initial.

6、使用二分法查询,提高查询内表数据速度
不推荐
Read table int_fligh with key airln = ‘LF’.
推荐
Read table int_fligh with key airln = ‘LF’ binary search.

7、两个内表添加使用批量增加代替逐行
不推荐
Loop at int_fligh1.
Append int_fligh1 to int_fligh2.
Endloop.
推荐
Append lines of int_fligh1 to int_fligh2.

8、使用table buffering
Use of buffered tables is recommended to improve the performance considerably. The buffer is bypassed while using the following statementsSelect distinct
Select … for update
Order by, group by, having clause
Joins
Use the Bypass buffer addition to the select clause in order to explicitly bypass the buffer while selecting the data.

9、 使用FOR ALL Entries
不推荐
Loop at int_cntry. Select single * from zfligh into int_fligh where cntry = int_cntry-cntry. Append int_fligh. Endloop.
推荐
Select * from zfligh appending table int_fligh
For all entries in int_cntry
Where cntry = int_cntry-cntry.

10、正确地使用where语句,使查询能使用索引
When a base table has multiple indices, the where clause should be in the order of the index, either a primary or a secondary index
To choose an index, the optimizer checks the field names specified in the where clause and then uses an index that has the same order of the fields. One more tip is that if a table begins with MANDT, while an index does not, there is a high possibility that the optimizer might not use that index.

11、正确地使用MOVE语句
Instead of using the move-corresponding clause it is advisable to use the move statement instead. Attempt should be made to move entire internal table headers in a single shot, rather than moving the fields one by one.

12、正确地使用inner join
Let us take an example of 2 tables, zairln and zflight. The table zairln has the field airln, which is the airline code and the field lnnam, which is the name of the airline. The table zflight has the field airln, the airline code and other fields which hold the details of the flights that an airline operates.
Since these 2 tables a re logically joined by the airln field, it is advisable to use the inner join.
Select a~airln a~lnnam b~fligh b~cntry into table int_airdet
From zairln as a inner join zflight as b on a~airln = b~airln.
In order to restrict the data as per the selection criteria, a where clause can be added to the above inner join.

13、使用sort by 代替order by

14、避免使用SELECT DISTINCT语句
使用的 ABAP SORT + DELETE ADJACENT DUPLICATES 代替.
分享到:
评论

相关推荐

    SAP ABAP 性能调优开发教程

    课程内容涵盖了ABAP性能优化的基本概念、性能瓶颈分析、性能优化技术、性能监控和分析工具等方面的知识。 性能优化基本概念 ABAP性能优化是指通过优化ABAP程序和系统配置来提高系统的响应速度和稳定性。性能优化的...

    ABAP程序性能优化

    ### ABAP程序性能优化 #### 引言 在企业级应用开发中,SAP ABAP是一种广泛使用的编程语言。为了确保应用程序能够高效运行并提供良好的用户体验,开发者必须掌握一定的性能优化技巧。本文将深入探讨一系列关于ABAP...

    abap性能优化

    本资料集主要探讨了ABAP性能优化的策略和技巧,适用于具有中等ABAP技能水平的开发者,以提升他们的代码效率,特别是在面对大数据量时,解决报表运行速度缓慢的问题。 1. **避免无谓的数据库访问**:数据库查询是...

    ABAP 学习资料 ABAP性能提高解决办法

    "ABAP性能提高解决办法" ABAP性能提高解决办法是ABAP开发者们必须掌握的重要技术。作为一名合格的ABAP开发者,提高ABAP程序的性能是非常必要的。本文将向您介绍10种提高ABAP性能的解决办法。 1. loop 循环中不要用...

    sap abap 性能优化

    sap abap 性能优化 合理的使用Index 減少數據行的傳輸 減少數據列的傳輸 避免不必要的SQL語句 減少資料量的傳輸

    SAP ABAP 性能优化

    介绍SAP ABAP 的性能优化,主要包括内表处理和R/3系统性能分析工具。

    abap性能优化2.rar

    本文将深入探讨ABAP性能优化的各个方面,旨在帮助开发者提高代码执行效率,减少系统资源消耗,提升用户体验。 一、ABAP性能优化的重要性 在企业级应用中,ABAP性能优化至关重要。一个运行缓慢的应用程序不仅会降低...

    ABAP报表性能优化注意事项

    在ABAP报表开发中,性能优化是至关重要的,因为低效的报表会导致用户满意度下降,尤其是在数据量庞大的情况下。以下是一些关于ABAP报表性能优化的注意事项和技巧: 1. **表连接策略**: - **连接顺序**:在编写...

    SAP ABAP程序性能调优介绍.pptx

    SAP ABAP 程序性能调优是指通过对程序的优化来提高 SAP 系统的性能。性能调优是 SAP 系统管理员和开发人员的重要任务之一,因为它可以直接影响到用户的体验和业务的效率。 用户交互过程是 SAP 系统的核心部分,包括...

    提高ABAP 性能注意事项

    ABAP(Advanced Business Application Programming)是SAP系统中的一种编程语言,用于开发企业级的应用程序。...同时,持续关注SAP的最新技术发展,学习并应用新的性能优化策略,以保持程序的先进性和效率。

    abap 关于SQL语句的性能

    在ABAP环境中,SQL语句的性能优化是提高系统响应速度和资源利用效率的关键环节。本文将基于给定的代码片段,深入探讨两种不同的SQL查询方法,并分析它们在性能上的差异,以帮助开发者理解如何编写更高效、更经济的...

    ABAP代码性能指导

    遵循上述ABAP代码性能优化原则,可以显著提高程序的运行速度和系统整体性能。对于企业级应用而言,这些实践不仅能够降低硬件成本,还能提供更流畅的用户体验。在实际开发过程中,开发人员应不断学习和探索新的优化...

    ABAP调优-代码优化.docx

    18. **代码静态检查**:使用SLIN或其他工具进行代码静态分析,获取性能优化建议。 19. **旧式内表定义**:定义内表时,若不确定最大记录数,使用`OCCURS 0`,以适应动态增长的需求。如果知道记录数,`OCCURS n`可以...

    ABAP 调用ABAP PROXY

    ### 性能优化 - 使用批处理调用:对于大量数据传输,可以考虑使用批处理模式减少网络传输次数。 - 缓存管理:合理使用缓存策略,减少不必要的服务调用。 - 错误重试机制:针对可能的网络问题,设计适当的错误重试...

    ABAP 程序优化方法

    在ABAP(Advanced Business Application Programming)编程环境中,程序优化是提升系统性能的关键步骤。通过有效的优化,我们可以确保程序运行更加高效,减少资源消耗,并提高用户体验。以下是对标题“ABAP程序优化...

    SAP ABAP程序性能调优介绍.pdf

    SAP ABAP 程序性能调优是指通过对 SAP ABAP 程序的优化,以提高程序的执行效率和响应速度,从而提高用户体验和系统性能。本文将详细介绍 SAP ABAP 程序性能调优的技术创新、用户交互过程、系统监控、程序跟踪、程序...

    The ABAP Runtime Trace(SE30)

    ABAP Runtime Trace(SE30)是SAP ABAP系统中一个强大的性能优化工具,可以帮助开发者快速地检测和优化ABAP程序的性能。下面将对ABAP Runtime Trace的使用方法和重要配置进行详细介绍。 使用ABAP Runtime Trace ---...

    abap-ALV.rar_ABAP系统ALV_abap_abap开发alv

    - 性能优化:处理大量数据时,需考虑性能优化策略,如分页、延迟加载等。 通过阅读“abap ALV.doc”文档,你可以更详细地了解到这些内容,并获得具体的代码示例和步骤指导。这份文档将帮助你理解和实践ABAP ALV开发...

    SAP系统ABAP视频教程,40g

    40G的ABAP教程视频,ABAP从入门到精通,帮助你快速成为ABAP顾问!

Global site tag (gtag.js) - Google Analytics