wordpress,发现 mysql 执行这条语句时间太长了,咋优化啊?

2017-10-22 00:03:38 +08:00
 zzuyanan

语句如下: Copying to tmp table | SELECT SQL_CALC_FOUND_ROWS wp_posts.ID FROM wp_posts INNER JOIN wp_term_relationships ON (wp_posts.ID = wp_term_relationships.object_id) WHERE 1=1 AND ( wp_term_relationships.term_taxonomy_id IN (749) ) 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, 24 |

这似乎是在检索某个分类下的最新的文章,但是执行时间高达 103 秒,难道是数据量太大,大约 600 万文章吧,那也不至于这么慢? vps 配置也不低啊,6 核 8G 内存,ssd 硬盘。 请教各位 了!

1413 次点击
所在节点    问与答
4 条回复
zzuyanan
2017-10-22 01:56:49 +08:00
没人了解吗
Mac
2017-10-22 02:53:13 +08:00
这个和你 mysql 的设置有关,连表加上排序,sort_buffer_size、read_buffer_size、join_buffer_size,这三样你试试增加缓存数量
zzuyanan
2017-10-23 19:21:21 +08:00
@Mac 这个我已经调整到 128M 了,不知跟我的 vps 资源比,觉得咋样,这样配置合适吗
zzuyanan
2017-10-23 19:35:53 +08:00
@Mac 查看执行状况,时间最长的是这个,102 秒 Copying to tmp table

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/399573

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX