Criei um tipo de postagem personalizado com uma taxonomia personalizada. Tenho cerca de 1500 posts, todos atribuídos a algum tipo de termo de taxonomia ... alguns sendo atribuídos a mais de 200 termos.
Percebi que, no painel, leva uma quantidade extremamente longa de tempo para exibir os tipos de postagem personalizados, resultando na maioria das vezes em um Tempo limite de 504 Gateway.
Consultar essas postagens no front-end é bom e não tenho problemas com isso.
Entendo que, quando o painel está tentando visualizar esses tipos de postagem personalizados, está tentando extrair todas as informações atribuídas a cada postagem, antes de mostrar tudo.
Eu tenho essa instalação do WP definida para poder usar a quantidade de memória necessária (memory_limit = -1), como eu estava pesquisando, alguns disseram que pode estar relacionado à memória.
Existe algo que eu possa fazer para aumentar o desempenho desta consulta ... talvez não carregue todos os relacionamentos de termos de taxonomia de uma postagem até que você esteja editando a postagem?
Erros após aumentar WP_MEMORY_LIMIT
de 1Gb para 2Gb:
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
fonte
wp-admin/edit.php?post_type=services
?Respostas:
Os termos CPT e taxonomia são criados via plugin. Consegui diminuir a consulta adicionando o seguinte ao meu plugin:
Atualmente, tenho mais de 700 postagens vinculadas a mais de 1500 termos de taxonomia e tudo está funcionando muito bem. As postagens estão aparecendo quase instantaneamente.
** Eu não escrevi esse código. Alguém com quem trabalho diretamente, que não faz parte da comunidade WordPress Answers, forneceu o código - talvez ele possa ajudar alguém ou alguém possa expandi-lo para torná-lo mais eficiente. **
fonte