AbyssalSwamp  ActivaUser
» Guest:  Register | Login | 会员列表

RSS subscription to this AbyssalSwamp  

Previous thread Next thread
     
Title: sql优化 GROUP BY多字段分组 分页查询速度慢  
 
chnzbq





UID 305207
Digest 0
Points 0
Posts
码币MB 0 Code
黄金 0 Catty
钻石 0 Pellet
Permissions 10
Register 2019-5-3
Status offline
sql优化 GROUP BY多字段分组 分页查询速度慢

简介项目中遇到一个网页十分的卡慢,逐条排查,将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呀!


2022-1-17 14:39#1
View profile  Blog  Send a short message  Top
 
X教授
超级版主
Rank: 12Rank: 12Rank: 12


UID 1
Digest 2
Points 2
Posts 169
码币MB 309 Code
黄金 0 Catty
钻石 903 Pellet
Permissions 200
Register 2022-2-7
Status offline
RE:sql优化 GROUP BY多字段分组 分页查询速度慢

哦,工呢嘛,看来你是学习到了新知识了。
2022-1-17 17:40#2
View profile  Blog  Send a short message  Top
 
X教授
超级版主
Rank: 12Rank: 12Rank: 12


UID 1
Digest 2
Points 2
Posts 169
码币MB 309 Code
黄金 0 Catty
钻石 903 Pellet
Permissions 200
Register 2022-2-7
Status offline
RE:sql优化 GROUP BY多字段分组 分页查询速度慢

你可以升级了。
2022-1-17 17:40#3
View profile  Blog  Send a short message  Top
     


  Printable version | Recommend to a friend | Subscribe to topic | Favorite topic  


 


All times are GMT+8, and the current time is 2026-1-14 08:14 Clear informations ->sessions/cookies - Contact Us - CAFFZ - ZAKE