如何清除SQL查询缓冲区:ecc

2020-09-15 21:03发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨, FM改进性能的一部分,...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

FM改进性能的一部分,我通过复制两个输入/输出的现有FM相同,点击相同的表来创建新的FM。 我正在使用SAT ST05来测量更改,在新的FM中,我对SQL查询和ABAP代码做了些微更改。

问题是我在两个fm中都用相同的查询命中相同的表时,第一次执行任何fm时结果要花费更多的时间(60秒)并被缓冲,然后第二个fm执行得太快(4秒)。/p>

我试图一天执行一次fm,另一天又执行FM-这样做不会保存缓冲区。 这里的另一个问题是我正在质量检查中进行测试,服务器负载每天都在变化。 假设我执行新/旧FM的一天是50秒,另一天则是100秒....使用相同的查询。

我们尝试使用/$ SYNC和/$ TAB没有帮助,我的基础团队也没有帮助,他们说结果在oracle db级缓冲,以清除我们没有选择的缓冲。

让我们知道如何清除缓冲区并同时测试两个FM。

谢谢

毗湿婆

9条回答
Doze时光
2020-09-15 21:35

这是经典的" 问题"。 如果您在不同的时间,不同的上下文等环境中运行,则不能有相同的持续时间。在极端情况下,系统专用于性能优化。 即使是第一次测量,也必须有2个连续的执行,而由于缓冲,您必须测量第二个。 如果您认为一条SQL语句确实过长,则必须分析其执行计划,更改SQL,然后再次运行两次并测量第二条。 不仅是持续时间,还有其他要分析的因素(读取的段数等)/$ SYNC仅清除当前应用程序服务器的SAP缓冲区(而不是数据库缓冲区)。

一周热门 更多>