首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Wordpress慢查询

Wordpress慢查询
EN

Stack Overflow用户
提问于 2013-04-12 17:48:40
回答 3查看 1.9K关注 0票数 1

我有一个wordpress博客,我的共享主机公司警告我活动缓慢。

在我的mysql slowlog.log中,我有一些基本的查询大约需要2到3秒(我认为是秒而不是毫秒)。

以下是日志中的查询:

代码语言:javascript
复制
# 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中找到它

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

代码语言:javascript
复制
# 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:我在一个值得信赖的公司(infomaniak),他们已经把我的博客放在专门的VPS机器上15天了,让我解决这个问题

谢谢你的帮助,并为我糟糕的英语道歉

没有办法在安装wp超级缓存后仍然有这些查询:(

代码语言:javascript
复制
# 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;
EN

回答 3

Stack Overflow用户

发布于 2013-04-16 01:03:29

好了,我找到了这些查询的问题所在:

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

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

票数 2
EN

Stack Overflow用户

发布于 2013-04-12 17:54:11

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

最好的方式是使用高速缓存插件(如wp超级高速缓存),

票数 0
EN

Stack Overflow用户

发布于 2019-05-15 21:07:06

我将此作为慢查询,该查询将命中的位置

代码语言:javascript
复制
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_pages设置为16,

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15968129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档