今天在帮一个朋友看一个投票程序,在经过几天的投票后,发现CPU长期占用率非常高,但是并发量和访问量并不大,大概并发也就100多,每天投票量上万而已,这种情况下,那么第一想到的肯定是sql语句有问题,下面开始排查。
首先进入mysql命令行管理里面,输入:
show processlist
应该可以查询得到执行慢的sql语句,
从这个语句中,我们可以看到具体查询的条件是 rid和openid
这时候,我们需要为这个表创建一个索引
create index indexname on tableName (rid,openid)
建立索引以后,瞬间CPU就恢复正常了。