Mysql Wordpress慢速查询

Mysql Wordpress慢速查询,mysql,wordpress,mysql-slow-query-log,Mysql,Wordpress,Mysql Slow Query Log,我有一个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

我有一个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;
# 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;
我的问题是:这个查询是核心查询吗?在这种情况下,花费3秒钟是否正常?如果没有,我如何补救?我指的是核心查询,如果它不是生成此查询的插件或主题函数,因为我在theme的function.php中没有找到它

我在日志中有另一个缓慢的查询:

# 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;
# 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 super cache,我的站点加载速度更快,但我在slowlog.log中仍然有这些缓慢的查询

PS:我在一家可靠的hsting公司(infomaniak)工作,他们把我的博客放在专用的VPS机器上15天,让我解决这个问题

谢谢你的帮助,很抱歉我的英语很差

-------------------------------------------编辑---------------------------------------

安装wp super cache后,不可能仍有这些查询:(


这两个查询是核心查询,您不能删除它


最好的方法是使用缓存插件(如wp super cache),

好的,我发现了这些查询的问题:

首先,没有核心查询,它们是由一个名为“Yoast WordPress SEO”的插件生成的,确切地说是插件的站点地图部分。“文件:class sitemaps.php”


当我禁用插件的站点地图部分时,我的slowlog.log文件中没有这些查询。

我得到的是一个缓慢的查询,这个查询将在哪里出现

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

实际上,我手动将每个页面的帖子数设置为16,

你的托管公司是谁?一些便宜的共享托管速度可能非常慢。我从我的网站上运行了3个Wordpress网站,它们运行得很好。我在infomaniak上托管,这非常可靠,他们已经将我所有的博客都放在了专用(VPS)上服务器15天让我解决问题谢谢你的回复,正如我上面提到的,我已经安装并激活了wp超级缓存,但slowlog.log中仍然有新的条目。你认为查询时间:2(2秒)是正常时间还是可疑?我想问题是查询搜索超过36000个结果(你有很多文章)。事实上,我不确定这是post_type='my_post_type'的核心查询原因。请尝试检测主题中是否没有新的WP_查询可以按自定义post type过滤post。我在主页的查询中添加了'my_post_type':$query->set('post_type',array('my post type'));但既然我想在主页上显示my_post_type类型的文章,我该怎么办呢。wordpress不能处理36000篇自定义文章类型的文章吗?:(Wordpress可以,但是你的主机,我不知道,这也取决于你的网站流量。我想问题是:在共享主机上,这些查询的2秒或3秒是Wordpress的正常行为吗?是的,这是因为我在functions.php中使用了url_post_id()函数