我覺得這應該是一個很好的評論,但我覺得我所擁有的僅僅是一種分心。我是否正確地評論了我的這條查詢?
- 這是否值得評論?
- 如果是這樣,這個評論可以改進嗎?
請注意,我正在處理一個規範程度很差的應用程序。
(
/* Remove Time Portion From ActivityDate */
DateAdd(Day, DateDiff(Day, 0, Activity.ActivityDate), 0) Not Between
/* Remove Time Portion From @MinimumDate Or SQL Server Min DateTime */
DateAdd(Day, DateDiff(Day, 0, Coalesce(@MinimumDate, '1753-01-01')), 0) And
/* Remove Time Portion From @MaximumDate Or SQL Server Max DateTime */
DateAdd(Day, DateDiff(Day, 0, Coalesce(@MaximumDate, '9999-12-31')), 0)
)
你可能是最好的(如果這是在WHERE子句中),將@MinimumDate修改爲'該日期的午夜',並且@MaximumDate變爲'後一天的午夜',然後執行Activity.ActivityDate <@ MinimumDate或Activity.ActivityDate> = @MaximumDate - 如果你在ActivityDate上有一個索引,那麼這給了查詢優化器一個戰鬥機會。 – 2010-07-12 22:40:58
@願意 - 現在這是一個好主意。 – ChaosPandion 2010-07-12 23:16:10