【发布时间】:2014-03-14 05:50:41
【问题描述】:
我有一个三列的表:
id | start_date | end_date
我有一个显示id 和DATEDIFF(hour, start_date, end_date) 的视图:
id | timespan
在日期列上放置索引会加快查询速度吗?这只适用于DATEADD?如果是这样,为什么?我的理解是,对于这样的算术查询,TABLE SCAN 是必需的。
【问题讨论】:
-
您想加快使用
WHERE view_column = @constant_value或类似视图定义中DATEDIFF(hour, start_date, end_date) AS view_column的查询吗?我建议您添加视图定义、查询和 SQL-Server 的确切版本(2005、2008、2008R2、2012) -
听起来你可以自己测试一下。
-
@FreshPrinceOfSO 它是,但我无法找到明确说明这一点的来源
-
@Pheonixblade9 那说什么?你可以自己测试吗?
-
这表示索引对这样的计算没有好处,因为它会引发表扫描,而不是查找。
标签: sql sql-server performance tsql sql-server-2012