Oracle暗示 - 需要找到执行计划

时间:2018-02-22 06:55:21

标签: oracle plsql plsqldeveloper

Oracle提示我遇到了与之相关的所有网站。但是,我没有理解这些概念。 我的问题是 1.优化查询性能有帮助吗? 2.它只是关于复杂查询或逻辑的暗示吗? 还是其他什么?

EG: select /*+ FIRST_ROWS(10) */ * from track ;
                         &
    select * from track ;
性能明智都花了0.109秒?

提前致谢

1 个答案:

答案 0 :(得分:1)

基本上,如果你不知道是否使用提示 - 那就不要了。 Oracle数据库的优化器非常智能,可以为您的查询选择最佳的执行计划。

如果您正在使用CBO(基于成本的优化器)(是的,您应该),您必须分析表(即收集统计信息,并定期执行),以便优化器处理相关数据;如果优化器认为表中有1000行,而你现在有100.000.000行 - 计划很可能会改变很多,那就没用了。

提示指示优化器应该按照您所说的方式执行查询(通过提供提示)。那么,这个暗示可能是错误的,最终的结果将是一个比没有暗示的更糟糕的解决方案。

所以 - 不要使用它们。