SQL – WHERE条件的顺序是否重要?

假设category_id是表书的索引键(不是主键)。下面两个SQL语句之间有什么区别吗?

SELECT * FROM books WHERE author='Bill' AND category_id=1

SELECT * FROM books WHERE category_id=1 AND author='Bill'

我想过滤首先按category_id然后由作者比按相反的顺序过滤。 SQL引擎足够聪明,这样做吗?

不,WHERE子句的顺序无关紧要。

优化器检查查询&确定基于索引等获得数据的最佳方式。即使在category_id和作者列上有覆盖索引 – 要么将满足使用它的标准(假设没有更好的东西)。

http://stackoverflow.com/questions/3152182/sql-does-the-order-of-where-conditions-matter

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:SQL – WHERE条件的顺序是否重要?