使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异相关的知识,希望对你有一定的参考价值。
使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异
从 77 开始的连续三篇文章,我们了解 ABAP 程序中变量占用内存空间的话题。通过一位读者朋友向我咨询过的实际问题,介绍了使用 OPEN CURSOR 和 FETCH NEXT CURSOR 这组 ABAP 关键字来实现 ABAP 数据库表分块读取的方法。
- 77. 简单聊聊 ABAP 变量消耗的内存空间这个话题
- 78. 浅谈 ABAP 程序运行时出现『内存耗尽』错误的问题
- 79. 使用 OPEN CURSOR 和 FETCH NEXT CURSOR 对 SAP 数据库表进行分块读写
本教程第 79 个步骤,我们分别用两种不同的方式实现了一个从数据库表 TADIR 中读取指定数目的 ABAP 函数。
第一种方式实现的函数名称:ZSELECT_FILTER,实现思路:
第二种方式实现的函数名称:ZBLOCK_FILTER, 实现思路:
从理论上讲,第二种实现不需要将 TADIR 数据库表里的全部数据读取到 ABAP 应用层,所以函数执行的性能,以及在 ABAP 应用层消耗的内存空间,都要优于方法1.
但这仅仅是我们的理论分析,本文我们就来通过使用一些 SAP 提供的标准工具,来客观比较两种实现的性能和内存消耗方面的差异。
详细操作步骤参考这篇文章。
以上是关于使用事务码 SAT 比较传统的 SELECT SQL 语句和 OPEN / FETCH CURSOR 分块读取 ABAP 数据库表两种方式的性能差异的主要内容,如果未能解决你的问题,请参考以下文章
「ABAP」万字详解,一文带你入门SAT事务码SQL优化必备