Oracle SQL 语句中的条件顺序是不是重要?
Posted
技术标签:
【中文标题】Oracle SQL 语句中的条件顺序是不是重要?【英文标题】: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 怎么样?
【问题讨论】:
【参考方案1】:除非您仍在使用旧的基于规则的优化器(并且由于您已经标记了您的问题 oracle11g,所以您肯定没有),重新排序 WHERE 子句几乎没有什么区别。
请注意我使用术语虚拟,因为 - 根据AskTom - 如果有几个具有相同估计成本的操作,它们可能仍会生成不同的执行计划。但在实践中,出于性能原因,我认为完全没有必要对 SQL 语句中的条件重新排序(当然,重新排序它们以使语句更易于理解可能仍然有意义)。
【讨论】:
以上是关于Oracle SQL 语句中的条件顺序是不是重要?的主要内容,如果未能解决你的问题,请参考以下文章
通过讨论Oracle 中sql语句的执行顺序,判断哪里可以使用定义过的别名