缓慢的 WordPress 默认查询

Posted

技术标签:

【中文标题】缓慢的 WordPress 默认查询【英文标题】:Slow WordPress default query 【发布时间】:2020-05-06 03:26:36 【问题描述】:

我的 WordPress 管理员变得非常缓慢。我联系了托管服务提供商,并通过一个慢速查询进行了诊断,该查询通常需要一分钟才能运行。

SELECT
    wp_posts.ID
FROM
    wp_posts
WHERE
    1 = 1
AND (
    (
        NOT EXISTS (
            SELECT
                1
            FROM
                wp_term_relationships
            INNER JOIN wp_term_taxonomy ON wp_term_taxonomy.term_taxonomy_id = wp_term_relationships.term_taxonomy_id
            WHERE
                wp_term_taxonomy.taxonomy = 'rl_media_folder'
            AND wp_term_relationships.object_id = wp_posts.ID
        )
    )
)
AND wp_posts.post_type = 'attachment'
AND (
    (
        wp_posts.post_status = 'inherit'
        OR wp_posts.post_status = 'private'
    )
)
GROUP BY
    wp_posts.ID
ORDER BY
    wp_posts.post_date DESC

谁能帮助解释为什么这会导致管理缓慢以及任何可能的解决方案?

【问题讨论】:

wp_term_relationships 的大小是多少?我相信子查询会减慢速度。 【参考方案1】:

我相信(没有足够的证据)将EXISTS 子句移到WHERE 子句的末尾会提高速度。

另外,使用 InnoDB 可能会比 MyISAM 更快。

【讨论】:

以上是关于缓慢的 WordPress 默认查询的主要内容,如果未能解决你的问题,请参考以下文章

实战Wordpres的CSRF漏洞利用

php 这个WordPress插件演示了如何使用WordPress提供的可拖动元文件构建自己的插件页面,需要WordPr

Wordpress 搜索功能仅搜索帖子

php 查询帖子类型wordpres

PHP Wordpres,查询最新帖子

面向列的缩放 Mysql - Wordpress