我想找出对带有日期(无时间)的日期时间记录集进行查询的“最佳实践”方法是什么。
我使用了几个查询,这些查询从使用日期时间数据类型的记录集中返回基于日期范围的记录,这意味着需要使用中间范围检查每条记录。
查询示例为:
Select *
FROM Usages
where CreationDateTime between '1/1/2012' AND '1/2/2012 11:59:59'
我知道 usingBETWEEN
是一种资源消耗,并且检查日期的日期时间数据类型总是会占用大量资源,但我想听听其他人在这种情况下使用(或将使用)什么。
我会得到任何类型的性能提升,将日期时间记录转换为日期,例如:
Select *
FROM Usages
where CONVERT(DATE,CreationDateTime) between '1/1/2012' AND '1/2/2012'
或者可能做一个小于/大于的检查?
Select *
FROM Usages
where (CreationDateTime > '1/1/2012')
AND (CreationDateTime < '1/2/2012 11:59:59')