Est-ce que cela cassera mon site si je supprime tous les enregistrements transitoires de la table wp_options?


14

Mon site a actuellement un scandaleux 500k + enregistrements transitoires dans la table wp_options. Cela provoque un crash fréquent de la table, tout comme mon site.

Je pensais que les enregistrements transitoires expireraient tous après un certain temps. Je ne sais pas quels plugins sont responsables et ce qui n'a pas encore fonctionné. Cependant, je ne veux pas que mon site plante fréquemment comme ça. Le nombre d'enregistrements dans le wp_optionstableau a grossièrement augmenté à 200k + il y a quelques semaines et maintenant 500k +.

Dois-je seulement supprimer les %transient_timeout%enregistrements - 200k + d'entre eux en ce moment?

Toute aide serait grandement appréciée.

Mises à jour du 16 juillet 2012

En fait, j'ai pris des risques (j'ai sauvegardé mon site en premier) en supprimant tous les enregistrements transitoires et la base de données de mon site n'a pas planté depuis :)

Merci encore à tous!

Réponses:




2

Voici une fonction simple pour effacer tous les transitoires et les délais d'attente - ajoutez-en plus pour répondre à vos besoins.

    function clear_transients()
    {

        global $wpdb;

        // delete all "namespace" transients
        $sql = "
            DELETE 
            FROM {$wpdb->options}
            WHERE option_name like '\_transient\_namespace\_%'
            OR option_name like '\_transient\_timeout\_namespace\_%'
        ";

        $wpdb->query($sql);

    }

1

Les transitoires, en règle générale, sont des données temporaires. Donc, si la personne qui a codé l'utilisation de ces données l'a fait correctement, ça devrait aller. Ma connaissance du sujet est cependant limitée et je n'ai pas beaucoup d'expérience avec eux.

Votre meilleur pari sera presque certainement de sauvegarder votre base de données, d'effacer les données dont vous ne pensez pas avoir besoin, puis de tester votre site. Si votre site en direct fait l'objet d'un trafic important, assurez-vous de tester sur une instance locale afin que personne ne soit affecté pendant le test.


1

Les transitoires ne sont que des options temporaires, qui sont conservées dans la base de données pendant une certaine période, ce qui signifie qu'elles expirent une fois leur objectif terminé.

Par exemple: le _site_transient_update_pluginstransitoire. Il contient les informations sur les plugins qui ont des mises à jour disponibles. Si vous supprimez ce transitoire, puis actualisez votre tableau de bord, vous le retrouverez dans votre base de données. Ainsi, même si vous supprimez un transitoire, WP le régénérera. Cela ne cassera pas votre site, mais provoquera certainement des événements inattendus! Assurez-vous de sauvegarder votre base de données avant de supprimer l'une de ces valeurs transitoires.


0

Les transitoires sont supposés être temporaires, mais si un développeur a mal codé, après avoir supprimé tous les transitoires, vous devrez peut-être réenregistrer les paramètres de thème / plugin / widget pour recréer les transitoires. La plupart du temps, ce n'est pas un problème cependant, et vous pourrez très bien supprimer tous les transitoires sur le site.

Une fois les transitoires supprimés, votre thème et vos plugins devront reconstruire les transitoires sur lesquels ils s'appuient. Cela entraînera un impact sur les performances dès que les transitoires auront été supprimés, après quoi le site devrait fonctionner un peu plus rapidement avec les transitoires inutiles qui peuvent s'être accumulés dans votre base de données.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.