首页  >  文章  >  数据库  >  MySQL如何查询当前正在运行的SQL语句

MySQL如何查询当前正在运行的SQL语句

WBOY
WBOY原创
2016-06-07 16:07:02910浏览

通过status命令,查看Slow queries这一项,如果值长时间>0,说明有查询执行时间过长 以下是引用片段: mysql> status; -------------- mysql Ver 11.18 Distrib 3.23.58, for redhat-linux-gnu (i386) Connection id: 53 Current database: (null) Current us

通过status命令,查看Slow queries这一项,如果值长时间>0,说明有查询执行时间过长

以下是引用片段:

<p> mysql> status; <br>-------------- <br>mysql Ver 11.18 Distrib 3.23.58, for redhat-linux-gnu (i386) <br>Connection id: 53 <br>Current database: (null) <br>Current user: root@localhost <br>Current pager: stdout <br>Using outfile: '' <br>Server version: 5.0.37-log <br>Protocol version: 10 <br>Connection: Localhost via UNIX socket <br>Client characterset: latin1 <br>Server characterset: latin1 <br>UNIX socket: /tmp/mysql.sock <br>Uptime: 4 days 16 hours 49 min 57 sec <br>Threads: 1 Questions: 706 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables:</p><p>52 Queries per second avg: 0.002 <br>-------------- </p>


这时再通过show processlist命令来查看当前正在运行的SQL,从中找出运行慢的SQL语句,找到执行慢的语句后,再用explain命令查看这些语句的执行计划。

mysql> show processlist;

+----+------+-----------+------+---------+------+-------+------------------+

| Id | User | Host | db | Command | Time | State | Info |

+----+------+-----------+------+---------+------+-------+------------------+

| 53 | root | localhost | NULL | Query | 0 | NULL | show processlist |

+----+------+-----------+------+---------+------+-------+------------------+


【相关文章】

  • 诊断Oraacle数据库Hanging问题
  • MySQL与标准的兼容性
【责任编辑:碧海蓝天 TEL:(010)68476606】
声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn