Über den Author / Freizeit / WP Optimize mit ‚postmeta‘ Bereinigung

WP Optimize mit ‚postmeta‘ Bereinigung

~0 Min. Lesezeit

Ich nutze das WP-Optimize, um schnell die Datenbank zu berinigen.

Scheinbar haben einige Personen das Problem, dass ungenutzte Einträge in der postmeta Tabelle zurückbleiben. Ich habe dazu noch eine neue Option implementiert welche folgende 2 SQL Statements beinhaltet.

Suche wie viele Einträge unnötig sind:

SELECT count(`m`.`post_id`) as `amount` FROM `wp_postmeta` as `m` LEFT JOIN `wp_posts` as `p` ON `m`.`post_id`=`p`.`ID` WHERE `p`.`ID` IS NULL

Anzeige der Einträge:

SELECT `m`.`post_id` FROM `wp_postmeta` as `m` LEFT JOIN `wp_posts` as `p` ON `m`.`post_id`=`p`.`ID` WHERE `p`.`ID` IS NULL

Und das entfernen:

DELETE `m`.* FROM `wp_postmeta` as `m` LEFT JOIN `wp_posts` as `p` ON `m`.`post_id`=`p`.`ID` WHERE `p`.`ID` IS NULL

Wem das alles zu schwer ist, kann hier die modifizierte Version runterladen: wp-optimize

Die Versionsnummer und die Texte wurden nicht verändert, daher sind gewisse Texte nur auf Englisch vorhanden. Der Author wurde informiert und somit sollte dies möglichst bald eingepflegt sein.

About Stefan

avatar
Ein männlicher IT Nerd, durchstöbert das Web nach speziellen Gadgets, unentbehrlicher Software und Alles was man im IT Sektor nicht verpassen darf.Immer hilfsbereit wenn Probleme zu lösen sind oder das Unmögliche umgesetzt werden sollte.

Weitere interessante Artikel

Drohnen verdunkeln die Sonne

~1 Min. LesezeitIch dachte, ich springe auch mal auf den Zug auf, generiere ein extrem …

Meine erste Phantom 2 Videoaufnahme

~0 Min. LesezeitWie bereits angekündet, hier kommt mein Review des Quadkopter Phantom 2. Am Meisten …

2 Kommentare

  1. avatar

    Hallo Stefan,

    danke für diesen Beitrag. Leider habe ich das Problem mit meinen Postmetadaten nicht lösen können, vielleicht hast Du ja noch eine Idee.
    Insgesamt habe ich 33.000 Einträge, was etwa 23MB in meiner mysql Datei ausmacht. Das gros ist überflüssig, es stammt aus einem Test mit meinem Twitter-Account, der wiederum meine Handelsaktivitäten gepostet hat. So sind in gut einem Jahr 33.000 Posts entstanden. Diese habe ich für den relaunch der Seite gelöscht, die Daten sind aber immer noch im System.

    Das Problem ist, dass sie nicht als verwaist erkannt werden. Weder von von Deinen Codezeilen, noch von gängigen DB-Cleanern. Somit werden Sie auch nicht gelöscht.

    Hast Du eine Idee?

    Gruß
    Pierre

  2. avatar

    Hallo Pierre

    Ja mein Script entfernt nur Ungenutztes. Grundsätzlich müsste man die Posts entfernen und danach die Metadaten löschen. Klar kann man auch direkt die Metadaten bereinigen und die Posts haben dann halt defekte Verlinkungen zu Metadaten.

    Hier müsste man klar definieren was (Gegebenheit z.B. Post von Twitterplugin), wie weit zurück (von-bis) bereinigt werden darf, SQL Statement erstellen und ausführen. Keine grosse Herausforderung per SQL, aber man muss die Daten zuerst anschauen und dieses Statement spezifisch für den Fall erstellen. Daher kann ich hier auch nicht einfach ein „einfaches“ SQL Statement liefern.

    Kompletter Aufwand sehe ich bei 30-60 Minuten, je nach wie viele Infos und Regeln greifen sollen.
    Bei Interesse einfach melden.

    Gruss
    Stefan

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

eMail-Benachrichtigung bei weiteren Kommentaren.
Auch möglich: Abo ohne Kommentar.