Pas Tout A Fait

Aller au contenu | Aller au menu | Aller à la recherche

Supprimer les vieux enregistrements de Piwik

Dernière mise à jour le 14 juillet 2011

Piwik, le remplacent du logiciel libre de mesure de statistiques web PHPMyVisites, est une alternative intéressante au service comme GoogleAnalytics, pour peu que l'on dispose d'un serveur où héberger le logiciel. Piwik enregistre toutes les infos disponibles sur les visites dans une base MySQL, qui grossit donc fortement au fil du temps...

piwik-logo.png

NB : Depuis la version 1.5.1, Piwik propose de faire le ménage directement dans l'interface web, sous "Paramètres/Privacy". Il est possible de paramétrer le nombre de jours à conserver et la fréquence des suppressions. Un vrai bonheur !

piwik-autodelete.png

Je n'avais pas encore trouver de commande pour faire simplement et finement le ménage dans la base de données sans avoir à trop galérer. Voici un petite commande SQL pour effacer les enregistrements qui ont plus de x jours de la base de données de Piwik.

C'est fort pratique si la taille de la base de données est un souci, sachant que la base de Piwik devient rapidement conséquente même en analysant un site ayant un trafic modéré. Avoir une base de données légère est également très perceptible au niveau du chargement des pages de statistiques.


La requête SQL

Là voilà :

DELETE piwik_log_visit, piwik_log_link_visit_action FROM piwik_log_visit INNER JOIN piwik_log_link_visit_action WHERE piwik_log_visit.idvisit = piwik_log_link_visit_action.idvisit AND visit_server_date <= CURRENT_DATE() - 30

Il est bien sur possible de l'exécuter dans PHPMyAdmin.

requete-phpmyadmin.png

Le paramètre 30 en fin de requête permet de définir le nombre de jours à conserver. Ici donc les 30 derniers jours d'enregistrements ne seront pas supprimés.


Pour les gros bœufs

Avant de connaitre cette requête SQL, j'utilisais le méthode d'écrite dans la FAQ de Piwik, à savoir supprimer les tables dont le noms commence par piwik_archive_*, ou exécuter la requête suivante (remplacer X par l'id du site à vider) :

DELETE FROM piwik_log_visit WHERE idsite = X

Ça marche bien aussi, mais c'est moins subtil... :-)

Matthieu Patout

Auteur: Matthieu Patout

Restez au courant de l'actualité et abonnez-vous au Flux RSS

Soyez le premier à réagir sur cet article

Ajouter un commentaire Fil des commentaires de ce billet

aucune annexe



Voir Aussi

googleplus1.jpg

Améliorer la vitesse de chargement et valider le bouton Google +1

Le bouton Google +1 s'affiche partout sur le web depuis quelques semaines. En plus de permettre la...

Lire la suite

Microphone.jpg

Enregistrer un son interne sous Ubuntu

Enregistrer les émissions de Radio France est toujours aussi simple et facile... Oublions le format...

Lire la suite


Découvrez le Nouveau « Pack Liberté »