Я хочу создать таблицу, в которой записи истекают через 24 часа после того, как они были вставлены в PHP и MySQL.
В идеале я хочу запускать «процесс удаления» каждый раз, когда пользователь взаимодействует с моим сервером, который удаляет старые записи. Поскольку это происходит чаще, вам не нужно удалять большие объемы данных, поэтому требуется всего несколько миллисекунд.
Я дал каждой записи добавленную дату / время.
Как мне это сделать?
Вы можете использовать планировщик событий MySQL:
автоматически удалять такие записи, когда они истекают:
CREATE EVENT delete_expired_101 ON SCHEDULE AT CURRENT_TIMESTAMP + INTERVAL 24 HOUR DO DELETE FROM my_table WHERE id = 101;
регулярно выполнять автоматическую очистку всех устаревших записей:
CREATE EVENT delete_all_expired ON SCHEDULE EVERY HOUR DO DELETE FROM my_table WHERE expiry < NOW();
DELETE FROM table WHERE added < FROM_UNIXTIME(UNIX_TIMESTAMP()-24*60*60)
EXPLAIN
( руководство MySQL ) и оптимизировать ваши запросы SELECT с помощью индексов ( руководство по MySQL ) Вы можете изучить использование Cron Job, http://en.wikipedia.org/wiki/Cron. Запускайте его каждые 24 часа, когда он соответствует вашему требованию.
Это поможет
Удалить строку MySQL после прохода времени