【发布时间】:2012-08-31 11:04:11
【问题描述】:
是否可以在DateTime 部分(例如DATEPART(YEAR, bp.[CreatedOn]) 和DATEPART(MONTH, bp.[CreatedOn]))上建立索引?例如,我有以下 T-SQL 查询:
DECLARE @year AS INT = 2012;
DECLARE @month AS INT = 8;
SELECT bp.Title, bp.CreatedOn FROM BlogPosts bp
WHERE (DATEPART(YEAR, bp.[CreatedOn]) = @year) AND (DATEPART(MONTH, bp.[CreatedOn]) = @month)
ORDER BY bp.CreatedOn;
这是我的执行计划:https://gist.github.com/3551450
目前记录不多,所以性能方面不是大问题,但记录会随着时间的推移而增长。
【问题讨论】:
标签: sql-server sql-server-2008 tsql indexing