我的一些同事根据他们对数据库的理解和索引的存在,明确了对Oracle SQL语句中的条件进行排序。
This answer驳斥了序列的重要性,而this answer的评论就PROLOG而言是不同意的。
好的,所以ANSI SQL确实是声明性的,序列是无关紧要的。 Oracle 11怎么样?
答案 0 :(得分:5)
除非你仍然使用旧的基于规则的优化器(并且因为你已经标记了你的问题oracle11g,你肯定不是),重新排序WHERE子句几乎没有区别。
请注意我使用术语虚拟,因为 - 根据AskTom - 如果有多个操作具有相同的估算成本,它们可能仍会生成不同的执行计划。但实际上,我认为完全没必要出于性能原因重新排序SQL语句中的条件(当然,重新排序它们以使语句更易理解可能仍然有意义。)