我的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是否已启用,并添加一个缓存插件。