当前位置: 首页 > news >正文

SAP接口超时:对 FOR ALL ENTRIES IN 的优化

SAP接口超时 在这里插入图片描述
经分析要10多分钟以上才出结果,且是这个语句耗时较长:

 SELECTaufnrmatnrbdmnglgortmeinschargFROM resbINTO CORRESPONDING FIELDS OF TABLE lt_lylcddxhFOR ALL ENTRIES IN lt_lylcddWHERE aufnr IN r_aufnr

发现RESB有420万条记录,而该工厂只有2.8万条记录。要求先将入参的werks参数用上,实现减少执行时间的效果

 SELECTaufnrmatnrbdmnglgortmeinschargFROM resbINTO CORRESPONDING FIELDS OF TABLE lt_lylcddxhFOR ALL ENTRIES IN lt_lylcddWHERE aufnr IN r_aufnrAND werks = in_werks

此时测试发现不再报超时错误,但仍然要花2分钟才出结果。
在这里插入图片描述
检查该表没有订单作为索引,优化建议有两个:
方案一:resb 表增加aufnr作为索引。
方案二:建议把数据直接取到内表,在内表中处理。
采用了方案二:

SELECTaufnrmatnrbdmnglgortmeinschargFROM resbINTO CORRESPONDING FIELDS OF TABLE lt_lylcddxh* FOR ALL ENTRIES IN lt_lylcdd "注释WHERE aufnr IN r_aufnrAND werks = in_werks

优化后,同样条件,执行后三秒出结果。

FOR ALL ENTRIES IN 是用内表与物理表结合查表,如果数据较多,查询条件没有索引,一般会很慢。比较好的方案是把数据取到内表中,在内表中再处理。

http://www.xdnf.cn/news/150697.html

相关文章:

  • MySQL安装实战分享
  • 数据加密技术:从对称加密到量子密码的原理与实战
  • 【重磅】敲敲云桌面版正式发布!
  • 电力系统最小惯性常数解析
  • 新闻速递丨Altair 与 Databricks 达成合作,加速数据驱动型创新
  • 【python】如何将python程序封装为cpython的库
  • PowerShell脚本实现|从文件夹动画序列中均匀选取关键帧(保留首尾帧)
  • 【Java开发规范及漏洞扫描】
  • 对比2款国产远控软件,贝锐向日葵更优
  • 嵌入式:Linux系统应用程序(APP)启动参数及其规则详解
  • 感知古今:探秘古代传感器的奇妙世界
  • STUN协议 与 TURN协议
  • 如何在SOLIDWORKS中高效管理文件属性?
  • 基于ssm的同城上门维修平台管理系统(源码+数据库)
  • 基于STM32、HAL库的ADS1220IPWR模数转换器ADC驱动程序设计
  • 什么是优质的静态IP?以及如何选择优质的静态IP?
  • redis 数据类型新手练习系列——Hash类型
  • script中async与defer区别
  • Java基本概念
  • C语言标准库函数setlocale用法详解
  • Prometheus中部署Alertmanager
  • 全面解析 Spring 依赖注入:@Autowired、@Inject 与 @Resource 深度剖析
  • CRI、CSI 和 CNI 是三大核心接口标准
  • 多层pcb工厂哪家好?
  • Java 后端开发环境安装
  • 【EDA】Placement(布局)
  • 安全性测试常规测试点全解析:从基础到高级的实战指南
  • AI智能SEO关键词优化策略
  • 人工智能(AI)对网络管理的影响
  • 13.ArkUI Navigation的介绍和使用