在我一直使用過去:最優化的方式來獲得所有記錄比上月
WHERE DATEDIFF(m, [DATE_COL], GETDATE()) = 1
它得到我的一切,發生在上月的紀錄。例如,如果我運行了這個查詢,它會得到我在1月份發生的所有記錄。
但是,我目前正在使用一個更大的表,如果我使用上述查詢,它需要將近30分鐘才能加載。但是,如果我使用類似
WHERE [SettlementDate] >= DateAdd(DAY, -31, GETDATE())
它通常會在10秒內運行。
我的問題是:
如何在不增加處理時間的情況下獲得與WHERE DATEDIFF(m, [DATE_COL], GETDATE()) = 1
相同的結果?
謝謝!
嘗試與期望的月比較'DATEPART(M,[date_col的])'。 –
這個'DateAdd(DAY,-31,GETDATE())'也可能評估爲錯誤的數據。就像'GETDATE()'是例如3月1日一樣。 –