Mysql-命令查询当前正在负载运行的SQL语句 mysql负载 1)我们先通过status命令查看Mysql运行状态,如下: mysql> status; -------------- mysql Ver 14.12 Distrib 5.0.77, for redhat-linux-gnu (x86_64) using readline 5.1 Connection id: 19878 Current database: Current user: root@localhost SSL: Not in use Current pager: stdout Using outfile: '' Using delimiter: ; Server version: 5.0.77 Source distribution Protocol version: 10 Connection: Localhost via UNIX socket Server characterset: latin1 Db characterset: latin1 Client characterset: latin1 Conn. characterset: latin1 UNIX socket: /var/lib/mysql/mysql.sock Uptime: 312 days 31 min 37 sec Threads: 1 Questions: 107979 Slow queries: 0 Opens: 17 Flush tables: 1 Open tables: 11 Queries per second avg: 0.004 -------------- 在上面显示列表的最后一条,我们来查看Slow queries这一项的值,如果多次查看的值大于0的话,说明有些查询sql命令执行时间过长。 2)这时再通过show processlist命令来查看当前正在运行的SQL,从中找出运行慢的SQL语句,找到执行慢的语句后,再用explain命令查看这些语句的执行计划。 mysql> show processlist; show full processlist; +-------+------+-----------+------+---------+------+-------+------------------+ | Id | User | Host | db | Command | Time | State | Info | +-------+------+-----------+------+---------+------+-------+------------------+ | 19878 | root | localhost | NULL | Query | 0 | NULL | show processlist | +-------+------+-----------+------+---------+------+-------+------------------+ 1 row in set (0.00 sec
您可以选择一种方式赞助本站