MySQL

MySQL Event Scheduler

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;

Potrebbero Interessarti

  • Utilizzare le Viste in MySQL5 Agosto 2010 Utilizzare le Viste in MySQL Un errore particolarmente importante che fanno molti programmatori è mescolare la logica applicativa e il modello. Gli sviluppatori PHP, ad esempio, hanno la tendenza di mettere insieme una quantità tremenda di query SQL nella loro logica del sito web, con conseguente […]
  • Utilizzare più istruzioni SQL prepare con PHP MySQLi11 Febbraio 2010 Utilizzare più istruzioni SQL prepare con PHP MySQLi Giorni fa in ufficio, durante lo sviluppo di un'applicazione di gestione, mi sono imbattuto in un errore causato dal tentativo di utilizzare più istruzioni prepare di MySQLi. Ieri ho trovato un articolo che mi ha risolto il problema: Carson McDonald spiega quale sia la causa che […]
  • Come rendere il database più sicuro9 Maggio 2011 Come rendere il database più sicuro Se hai un sito web in cui memorizzi dati dell'utente è probabile che si utilizzi un database, come MySQL, SQLite o altro, ed è importante assicurarsi che il proprio database sia sicuro da e per gli utenti. Creare istruzioni di query al volo come la sequente: è […]
  • Arricchisci il tuo sito: widget per migliorare l’aspetto5 Settembre 2008 Arricchisci il tuo sito: widget per migliorare l’aspetto C'è chi li chiama Widget e chi li conosce come snippets o plugin ma, al di là delle diatribe lessicali, non sono altro piccoli oggetti inseribili in un sito web, senza nessuna difficoltà, in pochi istanti, allo scopo di renderne più "ricco" il contenuto. Possono essere applicazioni […]

Potrebbero interessarti

  • 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?

    17 Dicembre 2012

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.