Abbiamo notato tempi di caricamento molto lunghi durante la modifica di un post o di una pagina. Utilizzando Query Monitor, abbiamo scoperto che questa query core WP impiega fino a 15-20 secondi.
SELECT meta_key
FROM wp_postmeta
GROUP BY meta_key
HAVING meta_key NOT LIKE '\\_%'
ORDER BY meta_key
LIMIT 30
caller:
meta_form()
post_custom_meta_box()
do_meta_boxes()
Usiamo molto postmeta poiché uno dei nostri tipi di post utilizza circa 20 campi personalizzati. Direi che forse facciamo troppo affidamento su postmeta, ma questa sembra una domanda molto inefficiente, visto che non sta nemmeno selezionando l'ID del post.
E 'un problema comune? C'è un modo per disabilitare questa funzione attraverso un filtro? Grazie per qualsiasi input.
meta_form()
funzione e questa è davvero la query SQL generata da quella funzione principale. Potresti provare ad aggiungere il tuo metabox personalizzato con modifiche al codice meta_form()
e utilizzare lì la tua query SQL suggerita. Ho trovato questo ticket trac chiuso # 8561 . Potresti forse creare un altro biglietto o provare a riaprirlo? PS: Notare che anche la pagina padre che seleziona metabox è problematica. Se hai 1 milione di pagine, tutte verranno visualizzate come opzioni selezionate!
meta_form()
funzione. Ho aggiornato la risposta: la query SQL di base è stata modificata nella versione 4.3 di WP. Vedi questo miglioramento delle prestazioni con questa nuova query SQL rispetto alla nostra post_id
restrizione aggiuntiva ?