Поддержание чистоты таблицы базы данных с помощью Entity Framework - PullRequest
0 голосов
/ 24 мая 2018

Я использую Entity Framework и у меня есть таблица, которую я использую для записи некоторых событий, которые генерируются сторонней организацией.Эти события действительны в течение 3 дней.Поэтому я люблю убирать любые события старше 3 дней, чтобы поддерживать свою таблицу базы данных более удобной.Могу ли я это сделать?Некоторый подход, который не вызовет проблем с производительностью во время очистки.

Ответы [ 2 ]

0 голосов
/ 24 мая 2018

в первую очередь.Убедитесь, что стороннее лицо записывает временную метку для каждой записи, чтобы вы могли отслеживать, сколько лет записи.

.Создайте сценарий, который удаляет все записи старше 3 дней.

УДАЛИТЬ ИЗ ВАШЕЙ ТАБЛИЦЫ WHERE DATEDIFF (day, getdate (), thatColumn) <-3 </p>

теперь создайте запланированное задание в SQLManagement Studio:

В SQL Management Studio перейдите на сервер, затем разверните элемент агента SQL Server и, наконец, папку «Задания» для просмотра, редактирования, добавления запланированных заданий.

установить сценарий набегать раз в день или что угодно, пожалуйста:)

0 голосов
/ 24 мая 2018

Для выполнения вышеупомянутого есть несколько опций:

1) Определите хранимую процедуру, сопоставленную с вашим EF.И вы можете использовать Quarts Trigger для своевременного выполнения этого метода.

https://www.quartz -scheduler.net

2) Задание агента SQL Server, которое выполняется каждый день внаименьшее пиковое время и удалите ваши ряды.

https://docs.microsoft.com/en-us/sql/ssms/agent/schedule-a-job?view=sql-server-2017

Если только метод, необходимый для очистки, ничего другого, я рекомендую вам перейти с опцией 2

...