【问题标题】:Does the order of conditions in an Oracle SQL statement matter?Oracle SQL 语句中的条件顺序是否重要?
【发布时间】:2014-02-05 07:42:08
【问题描述】:

我的一些同事会根据他们对数据库的理解和索引的存在来对 Oracle SQL 语句中的条件进行排序。

This answer 否认序列的重要性,而this answer 的评论就 PROLOG 而言不同意。

好的,所以 ANSI SQL 确实是声明性的,顺序无关紧要。 Oracle 11 怎么样?

【问题讨论】:

    标签: sql oracle11g


    【解决方案1】:

    除非您仍在使用旧的基于规则的优化器(并且由于您已经标记了您的问题 oracle11g,所以您肯定没有),重新排序 WHERE 子句几乎没有什么区别。

    请注意我使用术语虚拟,因为 - 根据AskTom - 如果有几个具有相同估计成本的操作,它们可能仍会生成不同的执行计划。但在实践中,出于性能原因,我认为完全没有必要对 SQL 语句中的条件重新排序(当然,重新排序它们以使语句更易于理解可能仍然有意义)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-03-10
      • 2012-07-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多