我想優化where子句。它會反覆運行,並且我試圖讓查詢更快完成,但是這個或許會顯着降低查詢速度。如果你們能幫助,那將會很棒!Where子句優化
WHERE
((Date1 >= @startdate
AND Date1 <= @enddate
AND @RunBy = 0)
OR (date2 BETWEEN @startdate AND @enddate
AND @RunBy = 1
AND date2 BETWEEN @startdate AND @enddate)
OR (date3 BETWEEN @startdate AND @enddate
AND @RunBy = 2)
OR (date4 >= @startdate
AND date4 <= @enddate
AND @RunBy = 3))
我試圖把案件或如果,但它只是沒有爲我工作。
什麼是你的數據庫?您是否嘗試使用查詢計劃器? –
你怎麼知道'OR'是減慢速度的那個?你檢查查詢執行計劃嗎? – MarcinJuraszek
第二個條件有兩個重複的陳述 - 是否應該這是你想要的? –