V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zzuyanan
V2EX  ›  问与答

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

  •  
  •   zzuyanan · 2017-10-22 00:03:38 +08:00 · 1498 次点击
    这是一个创建于 2609 天前的主题,其中的信息可能已经有所发展或是发生改变。

    语句如下: 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 硬盘。 请教各位 了!

    4 条回复    2017-10-23 19:35:53 +08:00
    zzuyanan
        1
    zzuyanan  
    OP
       2017-10-22 01:56:49 +08:00
    没人了解吗
    Mac
        2
    Mac  
       2017-10-22 02:53:13 +08:00
    这个和你 mysql 的设置有关,连表加上排序,sort_buffer_size、read_buffer_size、join_buffer_size,这三样你试试增加缓存数量
    zzuyanan
        3
    zzuyanan  
    OP
       2017-10-23 19:21:21 +08:00
    @Mac 这个我已经调整到 128M 了,不知跟我的 vps 资源比,觉得咋样,这样配置合适吗
    zzuyanan
        4
    zzuyanan  
    OP
       2017-10-23 19:35:53 +08:00
    @Mac 查看执行状况,时间最长的是这个,102 秒 Copying to tmp table
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3563 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 00:57 · PVG 08:57 · LAX 16:57 · JFK 19:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.