やDateTime
などの部分にインデックスを付けることはできますか? たとえば、次の T-SQL クエリがあります。DATEPART(YEAR, bp.[CreatedOn])
DATEPART(MONTH, bp.[CreatedOn])
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
現在は記録が少ないのでパフォーマンス的には大きな問題はありませんが、今後記録は伸びていきます。