我有一個查詢,它將datetime作爲參數,我們觀察到的是,如果您通過變量提供datetime參數,Query執行的時間比如果你直接硬編碼參數,是否有任何原因或解決方案SQL查詢和日期時間參數需要很長時間來執行
下面的查詢需要大約5分鐘返回結果
Declare @Date as DateTime
Set @Date = '01/01/2009'
Select * from TempTable where effdate = @Date
雖然作爲
Select * from TempTable where effdate = '01/01/2009'
它在10-20秒內返回
這並不總是我有索引列使用我想要做的搜索。
按照kevchadders的建議,我看到了執行計劃的巨大差異。帶日期變量的查詢正在進行聚簇索引掃描,另一個正在做索引查找。
是effdate一個varchar或日期時間字段? – 2009-10-29 09:24:41
effdate是一個日期時間字段。 – rsapru 2009-10-30 12:13:28