Hint does NOT work , New myth ?

博客围绕Oracle数据库展开,讨论分析数据对其使用RBO判断的影响,重点提及诊断事件10053有时会忽略Hint的问题,分析了出现此问题的两种情况,如提示无效、指定提示信息不足等,还提到10g中相关参数设置影响Hint作用,最后建议低版本数据库对比10046结果分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kamus 在 论坛中说了一个问题:分析数据会影响Oracle使用RBO的判断?在讨论的最后,说到诊断事件 10053(cost-based optimizer tracing) 的 Trace 有的时候可能会忽略 Hint (?)

10053 诊断事件有的时候可能会忽略掉 hint。出现这种问题可能出于两种情况:

  • 提示是无效的。在该例中,Kamus指定了 RULE 提示,而对应的表是分区表。或者是 指定提示某索引,而该索引不存在。则优化器同样忽略掉该提示。
  • 指定的提示信息不足。
  • 10g 中的 _optimizer_ignore_hints 参数如果设定为 TRUE 则 Hint 不起作用。

当然,以上这三条并不是我的总结,而是 Niall Litchfield 在邮件列表中的讨论Cary Millsap 提到 there are good
hints and there are bad hints

最后俺的建议,在低版本的数据库上,如果觉得 10053 有问题,不妨对比 10046 (equivalent to SQL_TRACE=TRUE)的结果来分析。

Google+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值