Dlaczego wp_options spowalnia WordPressą
WordPress przy każdym ładowaniu strony wykonuje zapytanie: SELECT * FROM wp_options WHERE autoload='yes'. Jeśli w tabeli jest wiele dużych wpisów z autoload=yes, to zapytanie staje się wąskim gardłem wydajnościowym.
Sprawdzenie problematycznych wpisów
SELECT option_name, LENGTH(option_value) AS rozmiar, autoload
FROM wp_options
WHERE autoload = 'yes'
ORDER BY LENGTH(option_value) DESC
LIMIT 20;
Wyłączenie autoload dla niepotrzebnych wpisów
-- Wyłącz autoload dla transientów
UPDATE wp_options SET autoload = 'no'
WHERE option_name LIKE '%transient%';
-- Wyłącz autoload dla konkretnej opcji
UPDATE wp_options SET autoload = 'no'
WHERE option_name = 'nazwa_opcji';
Usunięcie wygasłych transientów
DELETE FROM wp_options
WHERE option_name LIKE '%_transient_%'
AND option_name NOT LIKE '%_site_transient_%';
Automatyzacja z WP-Optimize
Wtyczka WP-Optimize automatycznie czyści transients i optymalizuje tabelę wp_options. Ustaw automatyczne czyszczenie co tydzień.