Как удалить базу записей по дате и смещению - PullRequest
1 голос
/ 15 декабря 2009

Мне нужно удалить записи в таблице, если текущая дата больше, чем дата создания записи + заданное количество дней (определяется @numberOfDays) Я использую следующий оператор SQL, но не уверен, что он очень эффективен. Есть ли лучший способ?

Я использую сервер MS SQL 2008.

DELETE
FROM deviceManager.Test2
WHERE DATEADD(day, @numberOfDays, deviceManager.Test2.GeneratedAt_UTC) < SYSDATETIMEOFFSET()

@ numberOfDays - целое число со значением 10

Ответы [ 2 ]

1 голос
/ 15 декабря 2009

Вероятно, лучше настроить текущую дату вместо каждой записи в таблице. Измените логику на «дата создания записи раньше текущей даты-времени - @numberOfDays».

Это более эффективно - один расчет вместо многих.

0 голосов
/ 15 декабря 2009

Мне кажется, все в порядке, я не могу придумать лучшего выхода из головы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...