immagine avatar

Ciao come puoi notare ho dato una bella rinfrescatina al mio blog!
Attendo un tuo feedback, per suggerimenti e ulteriori proposte di miglioramento, ma anche, sperando che non ci siano, segnalazioni di errori o malfunzionamenti del blog. Buona lettura!

MySQL Event Scheduler

di MaiNick | 17 Dic 2012 | MySQL | 1 Commento

Nel gestire grandi applicazioni Web si possono avere un sacco di righe di dati indesiderate. Ad esempio se un e-commerce è realizzato in modo da memorizzare in modo permanente la gestione del carrello dinamico, oppure la permanenza di vecchi listini divisi per gruppi d’acquisto, avremo la necessità nel tempo di cancellare questi dati dal database.

In questo articolo voglio spiegare un semplice suggerimento come utilizzare i MySQL Event Scheduler per l’eliminazione di righe di dati non più desiderati nel database.

Per abilitare la schedulazione degli eventi in MySQL bisogna eseguire la seguente query in PhpMyAdmin o in un qualsiasi altro ide per la gestione del vostro database:

SET GLOBAL event_scheduler = ON;
o
SET GLOBAL event_scheduler = 1;

Di seguito la query per creare un evento che ogni giorno cancella i dati dalla tabella del carrello di 10 giorni fà:

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

Se si desidera modificare il tempo di esecuzione di un evento è possibile eseguendo la seguente query:

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

Possiamo visualizzare tutti gli eventi in esecuzione:

SHOW EVENTS;

ed eliminare un evento:

DROP EVENT newEvents;
Tags: ,

Un Commento

  1. Luciano ha detto:

    Ho appena fatto un backup di tutti i miei database mysql con mysqldump e l’opzione –all-database. Mi da il seguente warning: — Warning: Skipping the data of table mysql.event. Specify the –events option explicitly.
    Se un maledetto giorno dovessi avere bisogno di recuperare i dati, l’assenza di questa tabella non dovrebbe essere un problema, giusto?

Trackbacks

Lascia un Commento

^ Torna su