加入收藏 | 设为首页 | 会员中心 | 我要投稿 PHP编程网 - 黄冈站长网 (http://www.0713zz.com/)- 数据应用、建站、人体识别、智能机器人、语音技术!
当前位置: 首页 > 百科 > 正文

有没有办法让Oracle重新计算每个查询调用的查询计划?

发布时间:2021-04-01 00:15:37 所属栏目:百科 来源:网络整理
导读:我有一个参数化查询.根据参数值,最佳查询计划会有很大差异.这就是麻烦:Oracle使用第一次查询调用的计划进行后续调用,导致性能下降.我通过动态SQL来处理它,但这种方式远非优雅.所以问题是:有没有办法告诉Oracle必须重新计算查询计划? 解决方法 对于Oracl

我有一个参数化查询.根据参数值,最佳查询计划会有很大差异.这就是麻烦:Oracle使用第一次查询调用的计划进行后续调用,导致性能下降.我通过动态SQL来处理它,但这种方式远非优雅.所以问题是:有没有办法告诉Oracle必须重新计算查询计划?

解决方法

对于Oracle 10g,我们将在查询中选择任何表并执行

GRANT SELECT ON table1 TO user1;

这将使引用此表的任何查询的计划无效.当然,您可能希望选择对其他查询影响最小的表.有关更多信息和示例列表,另请参见this page.

(编辑:PHP编程网 - 黄冈站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读