我搜索了很多這個簡單的操作。但我無法得到答案。我有一個簡單的查詢:SQL中的「AND」操作執行方法
select column1, column2...
from table1
where condition1 and condition2 and condition3
上述查詢將返回一些行,如果所有條件都爲真。
我的問題是它是否會給結果作爲「不及格」,一旦它找到的第一個條件(條件1)失敗?
操作的其餘部分的執行意味着少,如果第二和第三個條件有巨大的操作會花費更多的時間。
您能解釋一下這個操作嗎?
這取決於優化,但你可以信任它,它就會明白,當已經失敗,首先是不必要的評估多個條件。即使[條件的順序應該是無關的](http://stackoverflow.com/questions/11436469/does-order-of-where-clauses-matter-in-sql)。 –
[在SQL Server布爾運算符短路](http://rusanu.com/2009/09/13/on-sql-server-boolean-operator-short-circuit/) - [不依賴表達式short在T-SQL中循環](http://blogs.msdn.com/b/bartd/archive/2011/03/03/don-t-depend-on-expression-short-circuiting-in-t-sql-not -even-with-case.aspx) –