1

私は wordpress ブログを持っていますが、共有ホスティング会社からアクティビティが遅いと警告されました。

私のmysqlのslowlog.logには、本質的に約2および3かかるクエリがあります(ミリ秒ではなく秒だと思います)

ログのクエリは次のとおりです。

# Query_time: 2  Lock_time: 0  Rows_sent: 25  Rows_examined: 36266
    SELECT l.ID, post_content, post_name, post_author, post_parent, post_modified_gmt, post_date, post_date_gmt
                    FROM (
                        SELECT ID FROM wp_posts 
                            WHERE post_status = 'publish'
                            AND post_password = ''
                            AND post_type = 'my_post_type'

                            ORDER BY post_modified ASC
                            LIMIT 25 OFFSET 9925 ) o
                        JOIN wp_posts l
                        ON l.ID = o.ID
                        ORDER BY l.ID;

私の質問は次のとおりです。このクエリはコアクエリですか? この場合、3 秒かかるのは正常ですか? そうでない場合、どうすれば解決できますか?テーマの function.php で見つからないため、このクエリを生成するのがプラグインまたはテーマ関数でない場合、コアクエリを意味します

ログに別の遅いクエリがあります:

# Query_time: 2  Lock_time: 0  Rows_sent: 1  Rows_examined: 29232
SELECT post_modified_gmt FROM wp_posts WHERE post_status IN ('publish','inherit') AND post_type = 'my_post_type' ORDER BY post_modified_gmt ASC LIMIT 1 OFFSET 2999;

ここで同じ質問がありますが、それはコアクエリですか、それともプラグイン関連のものですか...

WP スーパー キャッシュをインストールしたので、サイトの読み込みが速くなりましたが、slowlog.log にこれらの遅いクエリがまだ残っていることに注意してください。

PS: 私は信頼できる hsting 会社 (infomaniak) にいます。彼らは私のブログを専用 VPS マシンに 15 日間置いて、問題を解決させてくれました。

助けてくれてありがとう、そして私の非常に悪い英語でごめんなさい

- - - - - - - - - - - - - - - - - - - - - -編集 - - - ----------------------------------

wp super cache をインストールした後も、これらのクエリはまだありません:(

# Query_time: 2  Lock_time: 0  Rows_sent: 25  Rows_examined: 49908
SELECT l.ID, post_content, post_name, post_author, post_parent, post_modified_gmt, post_date, post_date_gmt
                FROM (
                    SELECT ID FROM wp_posts 
                        WHERE post_status = 'publish'
                        AND post_password = ''
                        AND post_type = 'my_post_type'

                        ORDER BY post_modified ASC
                        LIMIT 25 OFFSET 23550 ) o
                    JOIN wp_posts l
                    ON l.ID = o.ID
                    ORDER BY l.ID;
4

3 に答える 3

2

さて、私はこれらのクエリの問題を発見しました:

まず、プラグインのサイトマップ部分である「Yoast WordPress SEO」と呼ばれるプラグインによって生成されたコアクエリはありません。「ファイル: class-sitemaps.php」

プラグインのサイトマップ部分を無効にすると、slowlog.log ファイルにこれらのクエリがありませんでした。

于 2013-04-15T17:03:29.353 に答える
0

この 2 つのクエリはコア クエリであり、削除することはできません。

最善の方法は、キャッシュ プラグイン (wp スーパー キャッシュなど) を使用することです。

于 2013-04-12T09:54:10.573 に答える
0

このクエリがヒットする遅いクエリとしてこれを取得しています

SELECT SQL_CALC_FOUND_ROWS  wp_posts.ID FROM wp_posts  WHERE 1=1  AND wp_posts.post_type = 'post' AND (wp_posts.post_status = 'publish')  ORDER BY wp_posts.post_date DESC LIMIT 0, 10

実際には手動でposts_per_pages16 に設定しましたが、

于 2019-05-15T13:07:06.173 に答える