【发布时间】:2018-07-10 07:57:42
【问题描述】:
我有一个非常奇怪的问题。
我使用的是 Oracle 11g。
Business Objects 工具执行了一个查询,优化器为不同的用户生成不同的计划。
当我的客户运行 BO 报告时,它真的很慢,但当我运行它时,它很快。
鉴于有一个很棒的计划(需要几秒钟),我尝试强制优化器使用该计划。
问题是它不起作用。
我尝试使用基线和 sqlsets,但查询每次都使用具有不同值的绑定变量,因此当查询更改时它并没有真正的帮助。
有没有办法禁用所有 sql 执行的计划? 这是一个糟糕的计划。但由于绑定变量,可能会带来很多查询。
更多,我在网上找到了有关 optimizer_secure_view_merging 的信息 可能导致此类问题的参数..但我很少有用户得到了好的计划,不仅是所有者..还可以吗?
来源:
https://oracledb.wordpress.com/2007/04/10/execution-plans-differents-with-different-users/
如果有其他想法该怎么做..
【问题讨论】:
-
计划之间有什么区别?使用
explain plan for ...和select * from table(dbms_xplan.display);生成它们并在此处添加它们可能会有所帮助。 -
您检查过 MOS Doc ID 371581.1 吗?
-
@JSapkota 那是什么?
-
这是 Oracle Support 提供的文档,似乎与您的问题有关。只有拥有 Oracle Support ID 才能访问它。
-
我没有...他们在文档中说什么?
标签: oracle optimization baseline