автоматическое удаление из базы: cron или функция?

Статус
В этой теме нельзя размещать новые ответы.

sunyang

Мастер
Регистрация
25 Апр 2009
Сообщения
440
Реакции
30
хочу сделать автоматическое удаление данных из базы по истечении 14 дней. Создал в базе ячейки со значением времени записи ( time() ) и значением времени удаления time()+14 дней в секундах.
Как лучше реализовать:
При каждом запуске скрипта проходиться по базе и сравнивать значения полей time() и time+14 дней или..
Написать функцию удаления и добавить ее в cron с выполнением каждый час или день?

Что наиболее практично с точки зрения нагрузки на сервант и стандартов?
 
а с какой точностью по времени нужно сделать? Если с точностью не критично, то можно просто раз в 24 час ходить по крону и удалять старые данные.

Чем меньше нужна точность, тем реже нужно делать запросы к БД, следовательно меньше нагрузка.
Если с точностью до минуты, то тут нужен крон (не факт что скрипт будет запускаться с интервалом раз в минуту) и понятно, что нагрузка будет больше.
 
Всё будет на мой взгляд зависеть от объёма базы.
Для одних баз - лишняя выборка , хоть раз в 5 минут не будет напрягать, а для других и раз в сутки будет накладная процедура
 
cron надежнее . + можно отследить удаление и при неудаче запустить скрипт по новому или оповестить админа по емейл
 
Лучше кроном. И удалять лучше sql запросом, а не перебором.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху