我已经在我的WordPress网站上103775帖子。以下查询不断使我的MySQL数据库服务器过载。如何永久修复它?



我的WordPress网站上有103775篇帖子,下面的查询不断使我的MySQL数据库服务器过载。如何永久修复?

第一个:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID 
FROM wp_posts 
INNER JOIN wp_postmeta 
ON ( wp_posts.ID = wp_postmeta.post_id ) WHERE 1=1 
AND (wp_postmeta.meta_key = 'post_views_count') 
AND wp_posts.post_type = 'post' 
AND ((wp_posts.post_status = 'publish')) 
GROUP BY wp_posts.ID 
ORDER BY wp_postmeta.meta_value+0 DESC 
LIMIT 0, 3

第二:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID 
FROM wp_posts 
LEFT JOIN wp_term_relationships 
ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 
AND (wp_term_relationships.term_taxonomy_id IN (127,188,190)) 
AND wp_posts.post_type = 'post' 
AND ((wp_posts.post_status = 'publish')) 
GROUP BY wp_posts.ID 
ORDER BY wp_posts.post_date DESC 
LIMIT 0, 4

第三:

SELECT SQL_CALC_FOUND_ROWS wp_posts.ID 
FROM wp_posts 
LEFT JOIN wp_term_relationships 
ON (wp_posts.ID = wp_term_relationships.object_id) 
WHERE 1=1 
AND (wp_term_relationships.term_taxonomy_id IN (127,188,190)) 
AND wp_posts.post_type = 'post' 
AND ((wp_posts.post_status = 'publish')) 
GROUP BY wp_posts.ID 
ORDER BY wp_posts.post_date DESC 
LIMIT 0, 4

这些查询的作用是什么&如何避免MySQL数据库服务器过载而生成这些查询?

我将首先验证语句索引中使用的所有字段(应该是chich(。SQL_CALC_FOUND_ROWS也存在性能问题如您所见:wordpress生成缓慢的mysql查询-这是索引问题吗?在这里https://core.trac.wordpress.org/ticket/10964

然后我会检查mysql_cache是否已启用,并添加一个缓存插件。

最新更新