mysql查询select count(*) 占用cpu超过100%的排查

今天在帮一个朋友看一个投票程序,在经过几天的投票后,发现CPU长期占用率非常高,但是并发量和访问量并不大,大概并发也就100多,每天投票量上万而已,这种情况下,那么第一想到的肯定是sql语句有问题,下面开始排查。

image.png

image.png


首先进入mysql命令行管理里面,输入:

show processlist

应该可以查询得到执行慢的sql语句,

image.png

从这个语句中,我们可以看到具体查询的条件是 rid和openid

这时候,我们需要为这个表创建一个索引

create index indexname on tableName (rid,openid)

建立索引以后,瞬间CPU就恢复正常了。

image.png

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Copyright deepdis.com Rights Reserved.