gpt4 book ai didi

performance - 有没有办法修复共享池中的 Oracle 查询

转载 作者:行者123 更新时间:2023-12-03 04:51:29 24 4
gpt4 key购买 nike

我有一个报告引擎,在 Oracle 11 上执行PreparedStatements,这是一项高度优先的任务。

我看到的是,第一次查询调用通常比之后的相同查询执行的时间要长得多(查询具有不同的参数并返回不同的数据)。

我认为这是由于 Oracle 在第一次查询调用时进行了硬解析。

我想知道,是否有一种方法可以向 Oracle 暗示,该查询是经常执行的高优先级查询,并且性能至关重要,因此无论如何它都应该保留在共享池中?

我知道我可以在Oracle 11中修复执行计划,但我不想修复它,我希望Oracle仍然能够更改它,随着系统的变化,我想要的只是排除查询硬解析。

最佳答案

也许您应该将“我想...”更改为“我测试并已确定...”:)

查询性能可能不仅仅受到解析的影响;当它执行时,它必须从磁盘获取 block 到缓冲区缓存中 - 后续执行很可能正在利用内存中找到的 block ,因此速度更快。

编辑:回答您当前的问题 - 解决方法可能是定期运行一个作业来解析查询但不执行它。您甚至可以使用它来确定解析或获取是否是问题的根源。

关于performance - 有没有办法修复共享池中的 Oracle 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4896125/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com