問題涉及到性能和最佳實踐。 (SQL Server 2008中存儲過程)sql server 2008存儲了多個或條件的proc優化最佳實踐
如果存儲過程包含這樣
result = select count(*) from tableA where (some condition1)
if (result) -- meaning we got something from above query
return result
else
result = select count(*) from tableA where (some other condition2)
and so on until
result = select count(*) from tableA where (some other conditionN)
代碼是更好地把所有的條件,在一個大的這樣的查詢
resultn = select count(*) from tableA
where (condition1 or condition1 or... conditionN)
請問表每種情況都要進行掃描,或者無論有多少條件都要進行一次表掃描。什麼是處理這種邏輯的優雅方式。謝謝
這看起來不像是有效的t-SQL代碼 - 我知道它是僞代碼,但是有些(count)應該與其他(count)?另外,你的兩段代碼看起來並不像邏輯上等價。 –
湯姆。做出了改變。 thx – Gullu