it-swarm.com.de

Bricht meine Website, wenn ich alle vorübergehenden Datensätze in der Tabelle wp_options lösche?

Meine Website enthält derzeit über 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 alle vorübergehenden Aufzeichnungen nach einiger Zeit abgelaufen sind. Ich bin mir nicht sicher, welche Plugins dafür 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 Tabelle wp_options ist vor einigen Wochen auf über 200.000 und jetzt auf über 500.000 gestiegen.

Soll ich nur die %transient_timeout% Datensätze löschen - 200k + davon im Moment?

Jede Hilfe wäre sehr dankbar.

Updates am 16. Juli 2012

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

Nochmals vielen Dank an alle!

10
ericn

Dies ist eine ziemlich definitive Reihe von Antworten zu Transienten

WPSE: Werden transiente Abfälle gesammelt?

6
anu

Ich benutzte:

DELETE FROM `wp_options` WHERE `option_name` LIKE ('%\_transient\_%');

mit tollen Ergebnissen aufzuräumen :)

(von hier https://stackoverflow.com/questions/10422574/can-i-remove-transients-in-the-wp-options-table-of-my-wordpress-install )

9

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

Zum Beispiel: Der _site_transient_update_plugins Transient. 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 durch WP neu generiert. Es wird Ihre Website nicht beschädigen, aber es werden definitiv unerwartete Dinge passieren! Stellen Sie sicher, dass Sie Ihre Datenbank sichern, bevor Sie einen dieser vorübergehenden Werte löschen.

1

Hier ist eine einfache Funktion zum Löschen aller Transienten und Timeouts - 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);

    }
1
Q Studio

Transienten sind in der Regel temporäre Daten. Wenn also die Person, die die Verwendung solcher Daten codiert hat, dies richtig gemacht hat, sollte es Ihnen gut gehen. Meine Kenntnisse über das Thema sind jedoch begrenzt, und ich habe selbst nicht viel Erfahrung mit ihnen.

Mit ziemlicher Sicherheit sollten Sie Ihre Datenbank sichern, die Daten löschen, die Sie nicht für nötig halten, und dann Ihre Site testen. Wenn Ihre Live-Site stark frequentiert ist, testen Sie sie unbedingt auf einer lokalen Instanz, damit beim Testen niemand davon betroffen ist.

1
Don

Es wird davon ausgegangen, dass die Übergänge nur vorübergehend sind. Wenn jedoch ein Entwickler die Daten falsch codiert hat, müssen Sie nach dem Löschen aller Übergänge möglicherweise die Einstellungen für Design/Plugin/Widget erneut speichern, um die Übergänge wiederherzustellen. 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 Design und Ihre Plugins die Transienten, auf die sie angewiesen sind, neu erstellen. Dies führt zu einer Leistungsbeeinträchtigung, sobald die Transienten entfernt wurden. Danach sollte die Site etwas schneller ausgeführt werden und die unnötigen Transienten, die sich möglicherweise in Ihrer Datenbank angesammelt haben, verschwunden sein.

0
Mr. Me