2012-09-19 73 views
0

我正在使用日期字段謂詞(非羣集)檢索一些數據,並試圖使用2個替代方案來實現我的目標。 字段爲datetime,並在語句中的一個我使用字面存儲在現場CPU使用日期謂詞SQL Server

WHERE dataload ='2012-07-16 10:13:01.307' 

在我使用這個謂詞其他語句中的值。

WHERE dataload >= DATEADD(DAY,0,datediff(day,0,@Dataload)) 
    and dataload <= dateadd(ms,-3,DATEADD(DAY,1,datediff(day,0,@Dataload))) 

綜觀統計IO /時間輸出時,讀出是相同的,但該方法#1中使用的CPU 16毫秒,並且所述方法#2中使用使該方法#1 0毫秒消耗總量的61%成本超過方法#2的39%。

爲什麼CPU在#方法1在使用時的方法#2上有如此多的功能,給我0毫秒我真的不理解。

有什麼基本的解釋呢?

回答

0

第一種方法從磁盤檢索字段,採用'6毫秒。第二種方法只是從內存中獲取數據。如果您顛倒了順序,另一種方法會花費更長的時間。

+0

這是不對的!我顛倒了陳述,並得到了相同的結果。 ... – MrKudz

+0

您如何測量? – stark