小编Dav*_*ash的帖子

Oracle优化器在生产代码中是否明智?

当我开始加速Oracle(在过去的几十年里一直是DB2的人)时,我看到很多现有的代码在其查询中使用了优化器提示.

从我在各种以Oracle为中心的网站上看到的内容,一些Oracle"专家"建议AGAINST在生产代码中加入优化器提示,因为:

  • 对于每个Oracle补丁或升级,提示可能都是错误的.
  • 对于每个DDL,提示可能都是错误的.

一位"专家"说:

隐藏提示的原因是,通过在SQL中嵌入提示,您将覆盖优化器并说您知道的比实时更多 - 不仅仅是现在,而且每次将来您的SQL都将运行,而不管您的数据库可能发生的任何其他更改.这可能导致您的SQL现在可能会以次优的方式运行,而且几乎肯定会在未来运行.

(参见http://allthingsoracle.com/a-beginners-guide-to-optimizer-hints/)

因此,如果通常已知优化器提示是"不明智的",为什么它们经常被使用(...至少在我看过的代码中)?

oracle oracle11g

4
推荐指数
1
解决办法
169
查看次数

标签 统计

oracle ×1

oracle11g ×1