投稿やページを編集しようとすると、ロード時間が非常に長くなることに気づきました。クエリモニターを使用して、このWPコアクエリが15〜20秒に増加していることがわかりました。
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()
投稿タイプの1つが約20程度のカスタムフィールドを使用するため、私たちは多くのpostmetaを使用しています。おそらくpostmetaに依存しすぎているかもしれませんが、これは投稿のIDを選択することすらしないので、非常に効率の悪いクエリのように見えます。
これは一般的な問題ですか?フィルターを介してこの機能を無効にする方法はありますか?ご意見をお寄せいただきありがとうございます。
これは、プラグインとデフォルトのテーマなしで起こりますか?
—
バージィ
はい、そうです。上記のように、遅いクエリはWPコアに属するものとして識別しました。私が提供した回答の関数では、カスタムフィールドのメタボックスが無効になっているため、クエリを実行できません。
—
psorensen
CSS-トリックに提案されたソリューション:css-tricks.com/...
—
psorensen
興味深いソリューションですが、
—
バージィ
meta_form()
関数全体を置き換えているようです。回答を更新しました-コアSQLクエリはWPバージョン4.3で調整されています。この新しいSQLクエリを使用すると、追加のpost_id
制限と比較してパフォーマンスが向上しますか?