Podczas edytowania postu lub strony zauważyliśmy naprawdę długi czas ładowania. Za pomocą Monitora zapytań stwierdziliśmy, że to podstawowe zapytanie WP zajmuje 15-20 sekund.
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()
Używamy dużo postmeta, ponieważ jeden z naszych typów postów używa około 20 niestandardowych pól. Powiedziałbym, że może zbytnio polegamy na postmeta, ale wydaje się to bardzo przydatne, ponieważ nie wybiera nawet identyfikatora posta.
Czy to powszechny problem? Czy istnieje sposób na wyłączenie tej funkcji przez filtr? Dzięki za wszelkie uwagi.
meta_form()
funkcję i jest to rzeczywiście wygenerowane zapytanie SQL z tej podstawowej funkcji. Możesz spróbować dodać własny niestandardowy metaboks ze zmianami w kodzie meta_form()
i użyć tam sugerowanego zapytania SQL. Znalazłem ten zamknięty bilet trac # 8561 . Mógłbyś stworzyć kolejny bilet lub spróbować otworzyć go ponownie? PS: Zauważ, że strona nadrzędna wybierająca metaboks jest również problematyczna. Jeśli masz 1 milion stron, wszystkie z nich pojawią się jako wybrane opcje!
meta_form()
funkcję. Zaktualizowałem odpowiedź - podstawowe zapytanie SQL zostało dostosowane w WP 4.3. Czy widzisz wzrost wydajności dzięki temu nowemu zapytaniu SQL w porównaniu do naszego dodatkowego post_id
ograniczenia?