MSSQL Наиболее оптимальный запрос диапазона дат для дня или диапазона дней

Я хотел выяснить, каков подход «лучших практик» к запросу к набору записей даты и времени с датой (без времени ).

Я использую несколько запросов, которые возвращают записи на основе диапазона дат из набора записей, в котором используется тип данных даты и времени, что означает, что каждую запись необходимо проверять с использованием диапазона между.

Пример запроса::

Select * 
FROM Usages 
where CreationDateTime between '1/1/2012' AND '1/2/2012 11:59:59'

Я знаю, что использование BETWEENтребует больших ресурсов, и что проверка типа данных datetime для даты всегда будет очень ресурсоемкой, но я хотел бы услышать, что другие используют (или будут использовать )в этом ситуация.

Получу ли я какое-либо увеличение производительности при преобразовании записи даты и времени в дату, например:

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')
7
задан Benjamin 2 May 2014 в 13:46
поделиться