2
我的一些同事根据他们对数据库的理解和索引的存在情况,对Oracle SQL语句中的条件进行了排序。Oracle SQL语句中的条件顺序是否重要?
This answer驳回序列的重要性,而this answer有一个意见,不同意就PROLOG而言。
好吧,所以ANSI SQL是真正的声明性和序列是无关紧要的。 Oracle 11如何?
我的一些同事根据他们对数据库的理解和索引的存在情况,对Oracle SQL语句中的条件进行了排序。Oracle SQL语句中的条件顺序是否重要?
This answer驳回序列的重要性,而this answer有一个意见,不同意就PROLOG而言。
好吧,所以ANSI SQL是真正的声明性和序列是无关紧要的。 Oracle 11如何?
除非你仍然使用旧的基于规则的优化器(并且由于你已经标记了你的问题oracle11g,你绝对不是),重新排序WHERE子句几乎没有区别。
请注意我使用术语虚拟,因为 - 根据AskTom - 如果有多个操作具有相同的估计成本,它们仍可能会生成不同的执行计划。但在实践中,我认为完全没有必要为了性能原因重新排列SQL语句中的条件(当然,重新命令它们使语句更易于理解可能是有意义的)。