「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】

图片[1] - 「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】 - MaxSSL

作者简介: THUNDER王,一名热爱财税和SAP ABAP编程以及热爱分享的博主。目前于江西师范大学本科在读,同时任汉硕云(广东)科技有限公司ABAP开发顾问。在学习工作中,我通常使用偏后端的开发语言ABAP,SQL进行任务的完成,对SAP企业管理系统,SAP ABAP开发和数据库具有较深入的研究。


文章概要: 在本节内容中,我们将继续学习ABAP OPEN SQL的知识,今天带来的内容是ABAP SQL性能优化的开篇,在上一节中我们介绍了SAT事务码的运用,为大家打下了坚实的基础,相信各位小伙伴们都已经熟知如何使用SAT事务码进行程序性能分析了吧!那么从本节开始将正式进入SQL性能优化实战部分!拿起键盘跟我练,一路火光带闪电!


每日一言: 永远年轻,永远热泪盈眶!

目录

  • 前言
  • 数据库表准备
  • (一)ABAP SQL新老语法如何选择?
    •  新老语法性能分析
      •   老语法示例代码
      •   新语法示例代码
    •  分析总结
  • (二)尽量少地使用 SELECT * 语句
  • (三)海量数据处理中避免使用SELECT…ENDSELECT语句
  • (四)尽量少使用子查询语句
  • (五)多用SELECT SINGLE语句和UP TO 1 ROWS语句
    •  不使用SELECT SINGLE语句
    •  使用SELECT SINGLE语句
    •  性能分析对比
  • 写在最后的话

前言

图片[2] - 「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】 - MaxSSL

  在本节内容中,我们将继续学习ABAP OPEN SQL的知识,今天带来的内容是ABAP SQL性能优化的开篇,在上一节中我们介绍了SAT事务码的运用,为大家打下了坚实的基础,相信各位小伙伴们都已经熟知如何使用SAT事务码进行程序性能分析了吧!那么从本节开始将正式进入SQL性能优化实战部分!拿起键盘跟我练,一路火光带闪电!


数据库表准备

图片[3] - 「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】 - MaxSSL

  本文所有案例都是基于一个我自己创建的Z表,该表结构如上图所示,供各位小伙伴们对照来观察代码运行结果:


(一)ABAP SQL新老语法如何选择?

图片[4] - 「SAP ABAP」OPEN SQL(十)【SQL性能优化(一)】 - MaxSSL
 关于ABAP SQL新语法的介绍将在本系列的最后进行介绍,这里只列举ABAP SQL新语法最基础的应用:

以下是ABAP SQL新语法的一般语法样式:

SELECT ... FROMtable_nameINTO @DATA(lt_name)WHERE ...LOOP AT lt_name INTO DATA(ls_name)...ENDLOOP.

参数介绍: