两种删除internal table entry的性能比较
Created by Jerry Wang, last modified on May 07, 2014 Go to start of metadata
需求:internal table A和B 里分别包含了若干product ID,对于table A,如果其product ID 不在 table B里,则需要从table A中删除。
solution1: 遍历table A,对于每一行再分别到table B 中检测,如果line product ID在table B中不存在,则删除当前行
solution2: 直接使用ABAP keyword DELETE WHERE product_id NOT IN .
使用如下report 比较性能:
REPORT ZDELETE_COMPARE.PARAMETERS: num type i OBLIGATORY DEFAULT 100.
types: begin of ty_product,id type comm_product-product_id,text type string,end of ty_product.data: lt_product type STANDARD TABLE OF ty_product,lt_product1 LIKE lt_product,lt_compare type STANDARD TABLE OF comm_product-product_id,lt_range type RANGE OF comm_product-product_id,lv_start TYPE i,lv_end TYPE i.FIELD-SYMBOLS: <product> TYPE ty_product,<range> LIKE LINE OF lt_range.START-OF-SELECTION.PERFORM generate_main_tab.PERFORM solution1.PERFORM solution2.ASSERT lt_product = lt_product1.FORM generate_main_tab.DO num TIMES.APPEND INITIAL LINE TO lt_product ASSIGNING <product>.<product>-id = sy-index.<product>-text = sy-index.APPEND INITIAL LINE TO lt_product1 ASSIGNING <product>.<product>-id = sy-index.<product>-text = sy-index.IF ( sy-index MOD 2 = 0 ).APPEND sy-index TO lt_compare.ENDIF.ENDDO.
ENDFORM.FORM solution1.GET RUN TIME FIELD lv_start.LOOP AT lt_product ASSIGNING FIELD-SYMBOL(<product1>).READ TABLE lt_compare WITH KEY table_line = <product1>-id TRANSPORTING NO FIELDS.IF sy-subrc <> 0.DELETE TABLE lt_product FROM <product1>.ENDIF.ENDLOOP.GET RUN TIME FIELD lv_end.lv_end = lv_end - lv_start.WRITE: / 'Solution1: ' , lv_end COLOR COL_NEGATIVE.
ENDFORM.FORM solution2.GET RUN TIME FIELD lv_start.LOOP AT lt_compare ASSIGNING FIELD-SYMBOL(<valid>).APPEND INITIAL LINE TO lt_range ASSIGNING <range>.<range>-low = <valid>.<range>-option = 'EQ'.<range>-sign = 'I'.ENDLOOP.DELETE lt_product1 WHERE id NOT IN lt_range.GET RUN TIME FIELD lv_end.lv_end = lv_end - lv_start.WRITE: / 'Solution2: ' , lv_end COLOR COL_NEGATIVE.
ENDFORM.
在internal table 的个数非常庞大的时候,直接使用ABAP keyword的solution具有更好的性能。
两种删除internal table entry的性能比较相关推荐
- PDF文件中的图片如何删除?分享两种删除方法
我们怎么把PDF文件中的图片给删除掉呢?大家在日常使用PDF文件的过程中,难免会对文件有编辑需求,有时候需要编辑文字,有时候需要对文件中的图片进行删除处理.遇到这种只需要删除PDF文件里的图片的时候, ...
- calico的两种网络模式BGP和IP-IP性能分析
目前使用较多的网络插件有 flannel,calico,canel等,但是如果对比以上几种网络插件的性能,还是calico最受欢迎 一.calico概述 二.性能评测指标 三.物理机性能评测 四.物理 ...
- 两种删除WORD文档页眉横线方法的对比
关于删除WORD文档页眉横线,网上搜索均可查找到2种常见的方法,即:1.将页眉样式改为正文样式:2.清除格式. 两种方式虽然均可以达到清除横线的目的,但效果却相差很大. 1.使用之后将页眉样式改为正文 ...
- 两种不同字符串比较方法的性能对比
最近比较关注C#书写出来的代码性能问题,越研究就越觉得很有意思. 在日常的编程过程总,由于编程需要,我们经常会比较两个字符串是否相等,然后再做相应的处理.代码书写起来是觉得很爽,不是吗?if (a== ...
- Java SE 第四十八,九,五十讲 Map深入详解及遍历Map的两种实现手段 Map.Entry详解与作业要求,作业讲解...
1.Map接口:Map的实现类:HashMap类 Map没有add()方法,但是有put()方法. put()将指定的值关联到map中的特定key. 2.HashMap类: 3.vice versa: ...
- 2019.最新Activiti6.0删除部署流程表(两种删除方式)
删除部署信息,但这种方式只能删除未启动流程实例的部署表,这种方式开开源删除部署的三张表 act_re_deployment.act_re_procdef.act_ge_bytearray /*** 删 ...
- oracle 删除原有的数据,oracle数据库删除数据的两种方式
当表中的数据不需要是,则应该删除该数据,并释放所占用的空间; 删除表中的数据有delete和truncate两种方式,下面分别介绍: 一.delete语句 (1)有条件删除 语法格式:delete [ ...
- 怎么把PDF页面删除?教你两种方法
怎么把PDF文件的页面给删除一页呢?PDF文件大家都知道它不是轻易就能修改的,这也就造成我们有很多需求很难得到解决.比如当我们在浏览一份PDF文件时,发现其中一页出现了错误或者是多余的内容,影响文件的 ...
- 两种方法删除IE7浏览历史记录
两种方法删除IE7浏览历史记录 我们在上网的时候,一般会在机器上留下浏览记录等一些涉及个人隐私的敏感信息,存在安全隐患.与 IE6 相比,IE 7在清除这些敏感信息.保护我们的个人隐私方面,做了改进和 ...
最新文章
- Tomcat V6 Examples移植到Apusic V5.1
- mysql内置含糊_mysql内置函数
- LeedCode: 计算器专场
- Acwing第 42 场周赛【完结】
- Oracle 12c 归档模式更改
- 剑指-顺时针打印矩阵
- python循环经典例题_python练习题:循环打印嵌套列表
- “10 倍工程师”引争议,程序员再被妖魔化?
- VScode安装离线插件
- 网页游戏开发基础——网页基础知识
- mysql maxscale mha_maxscale配合MHA搭建读写分离的高可用架构(基于GTID replication主从架构,mysql5.6)...
- 收集整理的一些windows好用的工具(持续更新)
- app商城开发要多少钱_价格透明_讲讲行业收费套路_OctShop
- OrCAD学习笔记1
- NEON技术粗浅认识
- 电力系统短路计算MATLAB
- 机房气体灭火防护改造
- 哈工大计组大作业-RISC处理器设计
- springboot 导入excel(数据批量导入)
- Mac中 wps如何将自定义模板添加到模板库中
热门文章
- 【android】java.net.ConnectException: localhost/127.0.0.1:8080 - Connection refused
- 查看Infinicon的HCA卡上的网络流量的方法
- 走向.NET架构设计—第五章—业务层模式,原则,实践(中篇)
- 20应用统计考研复试要点(part21)--概率论与数理统计
- python与正则表达式(part1)--元字符
- GIT项目管理工具(part10)--分支管理
- sqlplus 修改system密码_华为交换机console密码忘了如何解决 华为交换机console密码忘了解决方法【介绍】...
- 时隔500天后,对比Excel系列又一新书发布
- 什么是 SAP Commerce Cloud 的 catalog
- 在 SAP HANA database Explorer 里添加 HDI 容器