您现在的位置是:首页 > PHP框架交流PHP框架交流

sql优化 GROUP BY多字段分组 分页查询速度慢

上善若水2021-01-12 15:07:48【PHP框架交流】 39人已围观

简介项目中遇到一个网页十分的卡慢,逐条排查,将sql放进去执行,执行时间居然高达19秒,怪不得慢,于是请教大佬,最后sql控制在1到两秒之间,现在想想,不同的写法,sql的执行效率真是天差地别呀!首先我们

项目中遇到一个网页十分的卡慢,逐条排查,将sql放进去执行,执行时间居然高达19秒,怪不得慢,于是请教大佬,最后sql控制在1到两秒之间,现在想想,不同的写法,sql的执行效率真是天差地别呀!
首先我们来看看原sql

SELECT * FROM `publish_task_walmart_new` group by parent_sku,account_id order by id desc limit 0,50

再看看优化后的sql

SELECT * from publish_task_walmart_new where id in( select t.id FROM(select id FROM publish_task_walmart_new GROUP BY parent_sku,account_id order by id desc limit 0,50) as t)

或者子查询

SELECT * from publish_task_walmart_new where id in( select t.id FROM(select id FROM publish_task_walmart_new GROUP BY parent_sku,account_id order by id desc limit 0,50) as t)

首先查询慢第一想到的有没有建立索引..
我看了下发现parent_skuaccount_id都有建立索引,EXPLAIN分析居然没有走索引
突然想到联合索引于是建了这个联合索引.
再去查询时间缩短到了10秒,效率提升了一半,然而还是太慢.
于是请教了大佬,就有了上面的结论!

数据库一共就80W条记录,也不多,看来还是得看看高性能mysql呀!

Tags: sql

很赞哦! (0)

相关文章

随机图文

文章评论

站点信息

  • 建站时间:2019-10-24
  • 网站程序:Thinkphp6 Layui
  • 文章统计187篇文章
  • 标签管理标签云
  • 统计数据cnzz统计
  • 微信公众号:扫描二维码,关注我们