【发布时间】:2017-07-12 05:45:08
【问题描述】:
我浏览了网络上的一些文档,并且大多不鼓励使用提示。我对此仍有疑问。特别是当数百个不同的客户使用相同的查询时,提示在生产中是否真正有用。
只有当我们知道表中存在的记录数时,提示才有用吗?我在查询中使用 leading,当数据非常大时它会提供更快的结果,但当获取的记录较少时性能不是那么好。
David 的 answer 非常好,但如果有人能更详细地澄清这一点,我将不胜感激。
【问题讨论】:
-
基本思想是优化器相当聪明,并使用有关您的表的统计信息来决定执行哪种查询策略。如果您使用提示,例如强制索引,然后当您的数据更改时,执行的计划可能不是最好的。话虽如此,在某些情况下使用提示是合适的,但这种情况比较少见。
-
这个没有实质性的文章和很多例子就无法回答,这里真的合适吗?
-
不鼓励发布到 SO 的问题只能通过意见来回答。查找作者展示其所有作品并提供性能统计数据的书籍、博客条目等,以证明一种方法更适合给定。
标签: sql oracle performance optimizer-hints