有没有办法让Oracle重新计算每个查询调用的查询计划?
发布时间:2021-03-31 21:43:37 所属栏目:站长百科 来源:网络整理
导读:我有一个参数化查询.根据参数值,最佳查询计划会有很大差异.这就是麻烦:Oracle使用第一次查询调用的计划进行后续调用,导致性能下降.我通过动态SQL来处理它,但这种方式远非优雅.所以问题是:有没有办法告诉Oracle必须重新计算查询计划? 解决方法 对于Oracle
我有一个参数化查询.根据参数值,最佳查询计划会有很大差异.这就是麻烦:Oracle使用第一次查询调用的计划进行后续调用,导致性能下降.我通过动态SQL来处理它,但这种方式远非优雅.所以问题是:有没有办法告诉Oracle必须重新计算查询计划? 解决方法对于Oracle 10g,我们将在查询中选择任何表并执行GRANT SELECT ON table1 TO user1; 这将使引用此表的任何查询的计划无效.当然,您可能希望选择对其他查询影响最小的表.有关更多信息和示例列表,另请参见this page. (编辑:青岛站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
站长推荐