Я хотел бы добавить пару вещей к этому обсуждению ...
- Чтобы избежать сканирования первичного ключа, убедитесь, что в указанном столбце даты и времени есть индекс (уникальный или не зависящий от данных).
- Также просмотрите планы выполнения оператора, который вы пытаетесь использовать, и рассмотрите возможность включения его в транзакцию с последующим откатом, чтобы можно было повторить процесс и оценить различия.
Например: сравнение
date_created < dateadd(d,-1,GETDATE())
С
date_created < getdate()-1
Показывает, что функция dateadd значительно увеличивает издержки при оценке и, хотя сканирование будет быстрее, чем сканирование PK, всегда лучше сниматьдля самого быстрого варианта в целом.