Я просто хочу проверить свою логику там.
Предположим, я хочу найти все новые продукты за последние 30 дней. Моя текущая процедура такова:
SELECT ProductName
FROM ProductTable
WHERE DATEDIFF( d, CreateDate, GETDATE() ) < 30
Однако я понимаю, что такие функции, как DATEDIFF, не будут использовать некластеризованный индекс, который я создал на CreateDate
. Поэтому мой запрос будет выполняться быстрее, используя следующую процедуру:
SELECT ProductName
FROM ProductTable
WHERE CreateDate >= DATEADD( d, -30, GETDATE() ) AND CreateDate < GETDATE()
Кстати, у меня нет SQL Server, где я нахожусь, поэтому я не могу проверить это с помощью плана выполнения.