首页 > 代码库 > oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复
oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复
就像在电话里提到的那样,Oracle
内部的优化器是根据一系列的内部
算法基于表上的统计信息来产生执
行计划的。对于特别复杂的SQL语
句,Oracle的优化器有一定几率不
能得到最优的执行计划(因为机器
代码实际上是比较死板的,虽然得
到的执行计划按照内部的算法来看
是比较快的,但是实际上这个执行
计划可能在实际执行中比较慢)。
我们现在碰到的就是这种情况,虽
然表的统计信息是准的,但恰恰优
化器在基于这个统计信息使用内部
算法得到的执行计划是不优化的一
这是优化器的固有限制。这时候就
需要DBA/Oracle Support介入,或
者使用hint,或者使用SQL Profile来
固定更好的执行计划。(这就是
Oracle数据库存在SQL Profile/hint
技术的原因,并且需要DBA操作人
员的原因)
oracle表的统计信息完全正确,执行计划无故改变。原厂人员如是回复
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。