web-dev-qa-db-ja.com

`SQL_CALC_FOUND_ROWS`を無効にする方法

可能な重複:
ロードを引き起こすワードプレスクエリ

私が最適化しようとしているサイトで、かなり遅く、SELECT SQL_CALC_FOUND_ROWSで始まるいくつかのクエリに気付きました。

このサイトを検索すると、関連する質問loadを発生させるwordpressクエリは、私の考えでは十分な答えを得られません。

あまりにも多くのものを壊さずにSQL_CALC_FOUND_ROWSをどうにかして無効にすることができますか - 可能であれば何も壊さないのですか?ページネーションはこれに依存しているようです。

@Wyckは私にこのコアチケットを読むように勧めました:#10964。それを読んだ後、私はそのチケットが完全に解決されたかどうかを本当に理解することはできません、そうではないようです。

いずれにせよ、SQL_CALC_FOUND_ROWSを無効にする方法はありますか?

4
ypercubeᵀᴹ

WP_QueryでパラメータSQL_CALC_FOUND_ROWStrueに設定するには、まず、ページ付けを使用していない場合にのみno_found_rowsを無効にする必要があります。

WP_Query( array( 'no_found_rows' => true ) );

get_posts()はデフォルトでこれを行います。

5
Mamaduka