最近,网站的访问速度太慢,进入后台发现mysql的CPU在5%-300%之间浮动,对于一个每天只有2万左右的访问量的网站来说,这是很不正常的。于是,便查找为什么MYSQL会占用这么高的CPU。我们做了很多调整,都没有生效,后来发现是某个SQL的执行效率太低引起的,修改之后CPU使用率马上恢复正常。原来,一句SQL可以产生的影响是这么大的。
查找MYSQL哪句语句执行得比较慢的方法是:
1. show variables like '%query%';
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql/var/uxy000590-slow.log
2. set global slow_query_log=on;
3. tail -f /usr/local/mysql/var/uxy000590-slow.log
4. 找到执行速度慢的SQL语句,进行优化。