Ich habe einen benutzerdefinierten Beitragstyp mit einer benutzerdefinierten Taxonomie erstellt. Ich habe ungefähr 1500 Beiträge, die alle einer Art Taxonomie-Begriff zugeordnet sind ... einige sind mehr als 200 Begriffen zugeordnet.
Ich habe festgestellt, dass das Anzeigen der benutzerdefinierten Beitragstypen über das Dashboard sehr lange dauert, was meistens zu einem 504-Gateway-Timeout führt.
Das Abfragen dieser Beiträge vom Frontend aus ist in Ordnung und ich habe keine Probleme damit.
Nach meinem Verständnis versucht das Dashboard beim Anzeigen dieser benutzerdefinierten Beitragstypen, alle jedem Beitrag zugewiesenen Informationen abzurufen, bevor alles angezeigt wird.
Ich habe dieses WP-Installationsset so eingestellt, dass es so viel Speicher wie nötig verwenden kann (memory_limit = -1), während ich recherchierte. Einige sagten, es könnte speicherbezogen sein.
Kann ich etwas tun, um die Leistung dieser Abfrage zu steigern? Laden Sie möglicherweise nicht alle Taxonomiebegriffsbeziehungen eines Posts, bis Sie den Post bearbeiten?
Fehler nach Erhöhung WP_MEMORY_LIMIT
von 1 GB auf 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
quelle
wp-admin/edit.php?post_type=services
?Antworten:
Die CPT- und Taxonomiebegriffe werden über das Plugin erstellt. Ich konnte die Abfrage verringern, indem ich meinem Plugin Folgendes hinzufügte:
Derzeit habe ich mehr als 700 Beiträge, die an mehr als 1500 Taxonomiebegriffe gebunden sind, und alles funktioniert hervorragend. Die Beiträge werden fast augenblicklich angezeigt.
** Ich habe diesen Code nicht geschrieben. Jemand, mit dem ich direkt zusammenarbeite und der nicht Teil der WordPress Answers-Community ist, hat den Code bereitgestellt - vielleicht kann er jemand anderem helfen, oder jemand anderes kann ihn möglicherweise erweitern, um ihn effizienter zu gestalten. ** **.
quelle