web-dev-qa-db-fra.com

La suppression des révisions aura-t-elle un impact positif sur les performances de la base de données?

Selon cette question sur DBA.SE, l’optimisation de la base de données me pose quelques problèmes.

Je me demande simplement si le fait de supprimer/désactiver les révisions aura un impact positif sur l'utilisation de ma base de données? Il semble que nous ne les utilisions pas aussi souvent que je m'y attendais.

Actuellement, je l'ai configuré pour que chaque publication puisse avoir jusqu'à 3 révisions.

Si leur suppression améliore les performances, quelle est la méthode "à jour" pour supprimer les révisions de la base de données?

Merci d'avance,

3
dunc

Michael Adams, créateur de bugs quantiques chez Automattic une fois a dit :

"Les révisions sont stockées dans la table des publications. Je ne sais pas encore quel type d'impact aura sur les requêtes sur les publications. Nous allons activer le commutateur sur" activé "sur WordPress.com très bientôt et nous aurons une meilleure idée de quel type de dommage, le cas échéant, il fait ".

Et quelque temps plus tard, ils l'ont activé et WordPress.com enregistre désormais les 25 dernières révisions pour chaque publication d'un blog. Donc, oui, vous pouvez gérer les révisions.

Le problème avec les révisions après publication est que la taille de votre base de données peut grossir considérablement (en fonction du nombre de révisions créées), ce qui alourdit la charge de traitement de MySQL.

Néanmoins, vous pouvez le gérer. Activer la mise en cache des pages et des bases de données - Cache total W3 ceci, et si votre site Web est servi à partir d’un seul serveur, essayez WP Super Cache . Et puis il y a divers accélérateurs d'applications Web comme le cache Varnish . Les sites Web avec des dizaines de milliers de messages doivent quand même faire du sharding, de la réplication esclave et maitresse de la base de données.

Même dans ce cas, les révisions de (très?) Anciens postes sont un gaspillage de ressources, OMI. Quant à moi, je supprime de temps en temps les révisions des publications publiées (tous les 2-3 jours).

Suppression de révisions:

Sauvegarde, sauvegarde, sauvegarde d'abord. Toujours!

Si vous souhaitez utiliser un plug-in pour supprimer des révisions et optimiser la base de données, tout en gardant les choses simples, essayez Mieux supprimer les révisions . Vous voudrez peut-être aussi jeter un oeil à Contrôle de révision .

Ou vous pouvez le faire manuellement en utilisant SQL comme indiqué ci-dessous.

(1A) Supprimez les révisions de tous les articles et de toutes les pages de votre blog WordPress ( source ):

DELETE a,b,c  
FROM wp_posts a  
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)  
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)  
WHERE a.post_type = 'revision';

(1B) Si vous utilisez la fonctionnalité Liens dans WordPress (Blogroll, etc.), N'UTILISEZ PAS la requête SQL susmentionnée. Utilisez ceci à la place ( lisez pourquoi? ):

DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON ( a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON ( a.ID = c.post_id )
LEFT JOIN wp_term_taxonomy d ON ( b.term_taxonomy_id = d.term_taxonomy_id)
WHERE a.post_type = 'revision'
AND d.taxonomy != 'link_category';

(2) Supprimer les brouillons automatiques:

DELETE FROM wp_posts WHERE post_status = 'auto-draft';

(3) Optimisez vos tables de base de données:

OPTIMIZE TABLE `wp_commentmeta`, `wp_comments`, `wp_links`, `wp_options`, `wp_postmeta`, `wp_posts`, `wp_terms`, `wp_term_relationships`, `wp_term_taxonomy`, `wp_usermeta`, `wp_users`

REMARQUE: Dans les requêtes SQL répertoriées ci-dessus, n'oubliez pas de remplacer wp_ par le préfixe de votre table de base de données.

7
its_me