web-dev-qa-db-ja.com

1ページに複数のWP_Query()呼び出しを最適化する方法

現在構築中のサイトには、約10のWP_Query()インスタンスがあることになるホームページがあります。 ID番号に基づいて1つの投稿をターゲットにしているものもあれば、それらの中には一連の投稿を取得するものもあります。

この多数のWP_Query()インスタンスを処理するときに、ページ読み込み速度をどのように最適化すればよいですか?キャッシングプラグインを使用して十分ですか?私が他にやるべきことは他にありますか?あるいは、10回のデータベースクエリでパフォーマンスが大幅に低下することはないため、心配する必要はありませんか。

1
Evster

幅広いパフォーマンスの質問に対する一つの魔法の答えはありません。それは車を選ぶようなものです - ある人や状況に最適な選択は他の人にはお粗末な選択かもしれません。ここでは特に、よりきめ細かいことができます。1つのクエリに対する最良の回答が、別のクエリに対する最良の回答でさえない可能性があります。多くの理由から、ここには良いアドバイスを提供するのに十分な情報がありません。その中で:

  • クエリの詳細2つのクエリはパフォーマンスが根本的に異なる可能性があるため、1つのクエリをそのままにして、別のクエリで一時的なクエリを使用することもできます。
  • データが変更される頻度あるクエリはおそらく更新後の更新時に無期限にキャッシュされるべきですが、別のクエリはまったくキャッシュされません。
  • フルページキャッシュが存在するかどうか
  • Memcachedを使用しているかどうか
  • 投稿テーブルと分類テーブルのサイズ

あなたができる最善のことは、それを実装し、 Debug Bar Plugin などを使ってSQLパフォーマンスがどのように向上するかを見てから、決定を下すか、もっと質問をすることです。そのデータに基づいて。また、前に戻って、クエリを組み合わせることができるかどうかを確認してから、PHPを使用して投稿を分離することをお勧めします。

少なくとも、私はこれを提供できます。フルページキャッシュの形式を使用しない理由はめったにありません。ページをキャッシュできる期間によっては、ここで行うことの意味がやや劣る場合があります。私のこの解決策は、 ワニスWPスーパーキャッシュ 、または Batcache 、サーバーアーキテクチャによっては。

これが少なくともあなたを正しい方向に向かせ、あなたがあなたの足を地面から降ろすのを手助けできることを私は願っています!

2
Matthew Boynes