使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取的性能差异

从 77 开始的连续三篇文章,我们了解 ABAP 程序中变量占用内存空间的话题。通过一位读者朋友向我咨询过的实际问题,介绍了使用 OPEN CURSOR 和 FETCH NEXT CURSOR 这组 ABAP 关键字来实现 ABAP 数据库表分块读取的方法。

本教程第 79 个步骤,我们分别用两种不同的方式实现了一个从数据库表 TADIR 中读取指定数目的 ABAP 函数。

第一种方式实现的函数名称:ZSELECT_FILTER,实现思路:

使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取的性能差异_第1张图片

第二种方式实现的函数名称:ZBLOCK_FILTER, 实现思路:
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取的性能差异_第2张图片

从理论上讲,第二种实现不需要将 TADIR 数据库表里的全部数据读取到 ABAP 应用层,所以函数执行的性能,以及在 ABAP 应用层消耗的内存空间,都要优于方法1.

但这仅仅是我们的理论分析,本文我们就来通过使用一些 SAP 提供的标准工具,来客观比较两种实现的性能和内存消耗方面的差异。

详细操作步骤参考这篇文章

你可能感兴趣的:(使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取的性能差异)