У меня есть столбец Datetime с именем CreatedOn в таблице. CreatedOn также является частью некластеризованного индекса, где порядок убывает.Какой где в Datetime будет быстрее?
Ранее в котором состояние у меня было условие следующим
WHERE DateDiff(d,CreatedOn,GetDate()) < 180 AND ... other conditions
Я изменил это
WHERE CreatedOn > '2012-04-04 00:00:00.000' AND ... other conditions
где я вычисляя дату отсечки в C# код, а затем положить, что в AdHoc запрос.
По моему мнению, второе условие должно быть быстрее, но я пока не вижу значительного изменения времени выполнения запроса. Но по мере роста размера таблицы, какой из них будет работать быстрее?
Стандартные ответы: A) Как вы думаете, это будет иметь значение? И B) Если это так, проверьте его с вашими данными, структурой таблицы, индексами, сервером и т. Д. :-) (Но я бы ожидал, что второй будет более оптимизирован, что может быть быстрее.) –
@TJCrowder: A it (обычная ошибка SQL). B не нужно из-за A – gbn
@gbn: Ответ на вопрос A не ** обязательно, обязательно это имеет значение. Это зависит от набора данных (например, важно значение индекса). Общая ошибка. ;-) –