我有一个wordpress博客和我的共享托管公司警告我有关活动缓慢。
在我的mysql slowlog.log中,我有必要的查询,需要大约2和d 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秒钟?如果没有,我该怎样补救?我的意思是核心查询,如果它不是一个插件或主题函数生成此查询,因为我还没有在主题的函数中找到它.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),他们把我的博客放在Dedicated VPS机器上15天让我解决问题感谢您的帮助,对不起我非常糟糕的英语
------------------------------------------- EDIT --- ------------------------------------
安装wp超级缓存后仍然没有这些查询:(
# 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;
答案 0 :(得分:2)
好的,我发现这些查询的问题是什么:
首先,没有核心查询它们是由插件生成的,这个插件被称为“Yoast WordPress SEO”,它恰好是插件的站点地图部分。 “file:class-sitemaps.php”
当我禁用插件的站点地图部分时,我在slowlog.log文件中没有这些查询。
答案 1 :(得分:0)
这两个查询是核心查询,您无法将其删除。
最好的方法是使用缓存插件(如wp超级缓存),
答案 2 :(得分: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_pages
设置为16,