397 liens privés
Un outil pour supprimer ou archiver des grosses quantité de données dans une base de donnée mysql (ou fork, comme percona server, mariadb..), sans trop impacter les perfs.
Exemple de commande:
pt-archiver --source h=localhost,D=base,t=table --purge --where 'truc < DATE(DATE_SUB(NOW(), INTERVAL 365 DAY))' --statistics --limit 200 --commit-each --why-quit --progress 100000
Dans cet exemple, je supprime les lignes de la table 'table' par paquets de 200, avec une clause 'where'.
J'affiche des stats toutes les 100000 lignes supprimées. --purge supprime les données.
Autres options qui me semblent utiles:
--check-slave-lag: Mettre en pause l'archivage si le lag du slave dépasse --max-lag
--dry-run: Pour juste afficher les requêtes qui vont être jouer sans rien exécuter. Particulièrement utile pour faire un plan d'exécution (EXPLAIN) dessus et voir l'impact éventuel sur les perfs.
--no-ascend: Ne pas se fier à l'index. Cela peut être une bonne stratégie s'il n'y a pas de trous dans les données à supprimer.
Cet outil très pratique fait partie de la suite percona-toolkit: http://www.percona.com/doc/percona-toolkit/2.2/
Ancêtre: http://www.maatkit.org/