Wird meine Site beschädigt, wenn ich alle vorübergehenden Datensätze in der Tabelle wp_options lösche?

14

Meine Site enthält derzeit mehr als 500.000 vorübergehende Datensätze in der Tabelle wp_options. Dies führt dazu, dass die Tabelle häufig abstürzt und somit meine Site ist.

Ich dachte, dass vorübergehende Aufzeichnungen nach einiger Zeit alle abgelaufen sind. Ich bin mir nicht sicher, welche Plugins verantwortlich sind und was noch schief gelaufen ist. Ich möchte jedoch nicht, dass meine Website so häufig abstürzt. Die Anzahl der Datensätze in der wp_optionsTabelle ist vor einigen Wochen stark auf über 200.000 gestiegen und jetzt auf über 500.000.

Sollte ich nur die %transient_timeout%Datensätze löschen - mehr als 200.000 im Moment?

Jede Hilfe wäre sehr dankbar.

Updates am 16. Juli 2012

Ich bin tatsächlich ein Risiko eingegangen (ich habe meine Site zuerst gesichert), indem ich alle vorübergehenden Datensätze gelöscht habe und die Datenbank meiner Site ist seitdem nicht mehr abgestürzt :)

Nochmals vielen Dank an alle!

ericn
quelle

Antworten:

2

Hier ist eine einfache Funktion zum Löschen aller Transienten und Zeitüberschreitungen - fügen Sie zusätzliche hinzu, um Ihren Anforderungen zu entsprechen.

    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);

    }
Q Studio
quelle
1

Transienten sind in der Regel temporäre Daten. Wenn die Person, die die Verwendung solcher Daten codiert hat, dies ordnungsgemäß getan hat, sollte es Ihnen gut gehen. Meine Kenntnisse des Themas sind jedoch begrenzt, und ich habe selbst nicht viel Erfahrung mit ihnen.

Am besten sichern Sie Ihre Datenbank, löschen die Daten, die Sie nicht benötigen, und testen dann Ihre Website. Wenn Ihre Live-Site stark frequentiert ist, testen Sie auf einer lokalen Instanz, damit während des Tests niemand betroffen ist.

Don
quelle
1

Transienten sind nichts anderes als temporäre Optionen, die für einen bestimmten Zeitraum in der Datenbank gespeichert werden. Dies bedeutet, dass sie ablaufen, sobald ihr Zweck abgelaufen ist.

Zum Beispiel: Der _site_transient_update_pluginsTransient. Es enthält die Informationen zu den Plugins, für die Updates verfügbar sind. Wenn Sie diesen Übergang löschen und dann Ihr Dashboard aktualisieren, finden Sie ihn wieder in Ihrer Datenbank. Selbst wenn Sie einen Transienten löschen, wird er von WP neu generiert. Es wird Ihre Website nicht beschädigen, aber definitiv dazu führen, dass unerwartete Dinge passieren! Stellen Sie sicher, dass Sie Ihre Datenbank sichern, bevor Sie einen dieser Übergangswerte löschen.

Rutwick Gangurde
quelle
0

Es wird angenommen, dass Transienten vorübergehend sind. Wenn ein Entwickler jedoch falsche Daten codiert hat, müssen Sie nach dem Löschen aller Transienten möglicherweise die Einstellungen für Design / Plugin / Widget erneut speichern, um Transienten neu zu erstellen. Meistens ist dies jedoch kein Problem, und Sie können problemlos alle Transienten auf der Site löschen.

Sobald die Transienten gelöscht sind, müssen Ihr Thema und Ihre Plugins die Transienten neu erstellen, auf die sie sich verlassen. Dies führt zu einem Leistungseinbruch, sobald die Transienten entfernt wurden. Danach sollte die Site etwas schneller ausgeführt werden, da die unnötigen Transienten, die sich möglicherweise in Ihrer Datenbank angesammelt haben, jetzt verschwunden sind.

wp-overwatch.com
quelle