MySQL планировщик событий

MySQL планировщик событий

02012-10-117007Денис Абдуллин

Если Вы работаете с большим объемом информации, и Вы вручную избавляетесь от лишних строк данных (спам, данные заказов и т.д.), то данная статья будет для вас полезна. Так можно облегчить управление данных, сделать их более автоматизированными. Хочу дать довольно простой совет, как использовать MySQL планировщик событий для удаления ненужных строк кода из базы данных.

База данных

Пример базы данных корзины, таблицы, которая содержит четыре колонки cart_id, user_id, product_id и created_at.

Code
CREATE TABLE cart  
(
cart_id INT AUTO_INCREMENT,
user_id INT,
product_id INT,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (cart_id)
) ;

Включение MySQL планировщика событий

Выполните следующий запрос в PhpMyAdmin или командной строке MySQL.

Code
SET GLOBAL event_scheduler = ON;
Or
SET GLOBAL event_scheduler = 1;



Создания события

Следующие события будут выполняться каждый день, чистить или удалять старые данные (10-дневной давности) из таблицы корзины, учитывая метку времени.

Code
CREATE EVENT newEvent
ON SCHEDULE EVERY 1 DAY
DO
DELETE FROM cart WHERE created_at <= DATE_SUB(NOW(), INTERVAL 10 DAY) ;



Alter события

Если Вы хотите изменить время события, то выполните простой запрос следующим синтаксисом.

Code
ALTER newEvent  
ON SCHEDULE EVERY 5 HOUR  
STARTS TIMESTAMP + 3 HOUR

Просмотр событий

Показать все доступные события.

Code
SHOW EVENTS;



Удаление события

Вы можете убрать событие следующим запросом.

Code
DROP EVENT newEvent;

Проверьте состояние расписания мероприятий по закладке в процессе PhpMyAdmin, в корне (он будет показываться только тогда, когда запланированное событие работает).



Создать сайт в uKit Нужен классный сайт для бизнеса?
Воспользуйтесь сервисом uKit. Никакого кода!
Чтобы оставить комментарий или отзыв под этой публикацией, войдите или зарегистрируйтесь.