使用MySQL时如何精准查询慢SQL
使用MySQL时如何精准查询慢SQL
在做技术开发的过程中,当产品在访问量很大的情况下,如果发现数据库cpu或者iops飙升,那么可以看看是不是有慢sql
但是慢sql如何查询,需要我们一个一个查吗,这个比较耗费人力成本
不如我推荐一个命令
select * from information_schema.processlist where COMMAND <> 'Sleep';
经过这样的查询就能累出所有运行中的sql,这个时候就可以看到哪个sql执行时间长了,
正常情况下我们会遇到类似如下的输出
+-----+------+-----------+------+---------+------+-----------+----------------------------------------------+
| ID | USER | HOST | DB | COMMAND | TIME | STATE | INFO |
+-----+------+-----------+------+---------+------+-----------+----------------------------------------------+
| 106 | root | localhost | NULL | Query | 0 | executing | select * from information_schema.processlist |
+-----+------+-----------+------+---------+------+-----------+----------------------------------------------+
我们可以通过TIME判断出哪条sql执行时间比较久
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 博客( https://www.gowhich.com ),版权所有,侵权必究。
版权声明
由 durban创作并维护的 Gowhich博客采用创作共用保留署名-非商业-禁止演绎4.0国际许可证。
本文首发于 Gowhich博客( https://www.gowhich.com ),版权所有,侵权必究。