2009-02-06 2 views
3

Я искал google и искал объявление MYSQL docs ad nauseam и не смог найти сжатый способ автоматизации удаления записей, которые превышали заданный таймфрейм. Я смог получить запрос в 5.1, чтобы указать значение TIMESTAMP для DATETIME в функции DIFF с текущим временем, чтобы узнать, соответствует ли он критериям истечения срока действия. Я читал, что 5.1 теперь имеет возможность запускать запланированные задачи, но не так много, чтобы настроить его. Я не использую триггеры для этого.Способ автоматизации удаления устаревших записей в MySQL?

В документации MySQL для 5.1, это относится к созданию события:

'CREATE 
[DEFINER = { user | CURRENT_USER }] 
EVENT 
[IF NOT EXISTS] 
event_name  
ON SCHEDULE schedule 
[ON COMPLETION [NOT] PRESERVE] 
[ENABLE | DISABLE | DISABLE ON SLAVE] 
[COMMENT 'comment'] 
DO sql_statement; 

schedule: 
AT timestamp [+ INTERVAL interval] ... 
| EVERY interval 
[STARTS timestamp [+ INTERVAL interval] ...] 
[ENDS timestamp [+ INTERVAL interval] ...] 

interval: 

Я в настоящее время использую жабу (который был находка). Мой запрос влияет на удаление любых записей, которым больше 30 минут. Мне просто нужно найти, как это событие вызывается ...

Спасибо!

ответ

5

Вы говорите об использовании MySQL Scheduler. После создания этого события MySQL будет вызывать его автоматически в любой промежуток времени, с которым вы его настроили. Если у вас возникли проблемы с настройкой, отправьте запрос и ошибку, которые вы получаете.

1

Напишите запрос и попросите его работать на работу так часто. Скажем, проверяйте истекшие строки каждые 30 минут или около того.

0

Если это не обязательно, и вы просто домашнее хозяйство, вы можете связать процесс с другим. Если вы можете позволить себе время.

Если у вас есть старый файл счета, очистите его, когда запущен месяц (возможно, много записей, но это пакетный процесс в любом случае). Очищайте старые предметы инвентаря, когда добавляете новые (менее частые, но меньше записей). Ведение таблицы журналов доступа? Очистите его, когда самая последняя запись в нем выпадает на другой день, чем сегодня. (для лог-файлов с низким трафиком) И так далее.

Смежные вопросы