如何清除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条回答
Baoming ROSE
2020-09-15 21:49

所以这是Oracle的事,

"为了获得一致的时间测量而不受缓存影响,您必须在执行被测查询之前清除所有缓存:
 •清除Oracle的buffer_cache:
 o更改系统刷新buffer_cache;
 •清除Oracle的shared_pool:
 o更改系统刷新shared_pool; 

不确定使用native-sql命令,更好地寻找可用的工具,因此向数据库管理员询问一些脚本吗?

一周热门 更多>