Я просто хотел посмотреть, есть ли лучший способ сделать запрос, подобный этому, я думаю, что приведение в предложении where является узким местом, но не уверен, что это лучший способ исправить это.План выполнения имеет 34% - это вставка во временную таблицу, а 42% - это хэш-совпадение.
SET @StartDate = DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()) + -12, 0)
SET @EndDate = DATEADD(MILLISECOND, -3, DATEADD(MONTH, DATEDIFF(MONTH, 0, GETDATE()), 0))
where cast(ITF.Date as DATE) BETWEEN CAST(@StartDate as date)
AND CAST(@EndDate as date)