Utworzyłem niestandardowy typ postu z niestandardową taksonomią. Mam około 1500 postów, z których wszystkie są przypisane do pewnego rodzaju terminu systematyki ... niektóre są przypisane do ponad 200 terminów.
Zauważyłem, że z poziomu pulpitu wyświetlenie niestandardowych typów postów zajmuje bardzo dużo czasu, w większości przypadków powodując przekroczenie limitu czasu bramy 504.
Odpowiadanie na te posty z interfejsu jest w porządku i nie mam z tym żadnych problemów.
Rozumiem, że kiedy pulpit nawigacyjny próbuje wyświetlić te niestandardowe typy postów, próbuje wyciągnąć wszystkie informacje przypisane do każdego postu, zanim pokaże wszystko.
Mam ten zestaw instalacyjny WP, aby móc zużywać tyle pamięci, ile potrzeba (memory_limit = -1), jak badałem, niektórzy twierdzili, że może to być związane z pamięcią.
Czy jest coś, co mogę zrobić, aby zwiększyć wydajność tego zapytania ... może nie załadować wszystkich relacji terminologii taksonomii postu, dopóki nie edytujesz postu?
Błędy po zwiększeniu WP_MEMORY_LIMIT
z 1 Gb do 2 Gb:
WordPress database error: [MySQL client ran out of memory]
SELECT t.*, tt.*, tr.object_id FROM wp_terms AS t INNER JOIN wp_term_taxonomy AS tt ON tt.term_id = t.term_id INNER JOIN wp_term_relationships AS tr ON tr.term_taxonomy_id = tt.term_taxonomy_id WHERE tt.taxonomy IN ('locations') AND tr.object_id IN
WordPress database error: [Lost connection to MySQL server during query]
SELECT post_id, meta_key, meta_value FROM wp_postmeta WHERE post_id IN
WordPress database error: [MySQL server has gone away]
SELECT DISTINCT YEAR( post_date ) AS year, MONTH( post_date ) AS month FROM wp_posts WHERE post_type = 'services' ORDER BY post_date DESC
źródło
wp-admin/edit.php?post_type=services
?Odpowiedzi:
Warunki CPT i taksonomii są tworzone za pomocą wtyczki. Udało mi się zmniejszyć zapytanie, dodając następujące elementy do mojej wtyczki:
Obecnie mam ponad 700 postów związanych z ponad 1500 kategoriami taksonomii i wszystko działa świetnie. Wpisy pojawiają się niemal natychmiast.
** Nie napisałem tego kodu. Ktoś, z kim pracuję bezpośrednio, a który nie należy do społeczności WordPress Answers, dostarczył kod - być może może pomóc komuś innemu lub ktoś inny może go rozwinąć, aby był bardziej wydajny. **
źródło