W jaki sposób wyczyścić bazę danych z elementów “transient” z tabeli wp_options?

  • Poziom trudności:

Kilka miesięcy temu zauważyłem, że baza danych strony mojego klienta jest podejrzanie duża. Po dokładnej analizie okazało się, że tabela wp_options jest nienaturalnie duża. W ten właśnie sposób odkryłem, że tabela składa się z tysięcy linijek kodu, które zaśmiecają bazę. Ponieważ nie uśmiechało mi się usuwać każdej linii ręcznie, dlatego skorzystałem z pewnego sposobu pozwalającego usunąć za jednym razem wszystkie śmiecące linie.

Linie dopisane do wp_options wyglądały bardzo podobnie:

_site_transient_browser_572f1534b371634b371663f1a8...
_site_transient_timeout_browser_71663f15e544fda7a5...
_transient_feed_83dc3f15e7166a7a531asf9a4...
_transient_plugin_slugs
_transient_timeout_feed_71663f15e544fda7a531asd14...

Przed podjęciem jakichkolwiek działań wyeksportowałem bazę na dysk tak aby w razie potrzeby mieć kopię zapasową.

eksport-bazy-danych

Skoro już masz kopię to możesz przystąpić do działania. Kliknij na zakładkę SQL w górnym menu i wklej:

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

Przy pomocy tego polecenia usuniesz wszystkie kolumny, które zawierają słowo “transient”. Po pewnym czasie mogą po tej operacji pojawić się te kolumny, z których korzystają wtyczki i sam mechanizm WordPressa. Pozostałe nie powinny wrócić i zaśmiecać bazy.

UDOSTĘPNIJ