我正在使用日期字段谓词(非集群)检索一些数据,并且我正在尝试使用 2 种替代方法来实现我的目标。该字段是一个datetime
并且在我使用的语句之一中,字面上存储在该字段中的值
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/time 输出,读取是相同的,但是方法 #1 使用了 16ms 的 CPU,方法 #2 使用了 0ms,导致方法 #1 消耗了总成本的 61%,超过了总成本的 39%方法#2。
我真的不明白为什么 #method1 中使用 CPU,而方法 #2 上有这么多功能并且给了我 0ms。
有什么基本的解释吗?