当前位置: 首页 > 图文教程 > 数据库 > MYSQL > MySQL如何查询当前正在运行的SQL语句

MYSQL
MySQL 实用命令
Mysql 默认字符集设置方法(免安装版)
MySQL 数据库对服务器端光标的限制
MySQL UPDATE更新语句精解
Table ‘xxx’ is marked as crashed and should be repaired 错误解决方法参考
mysql 读写分离(基础篇)
mysql 读写分离(实战篇)
processlist命令 查看mysql 线程
MySQL 数据类型 大全
MySQL 密码设置
MYSQL代码 定期备份Mysql数据库
汇总整理MYSQL相关操作命令
MySQL 数据库两台主机同步实战(linux)
MSSQL 添加字段说明
MySQL 查询某个字段不重复的所有记录
mysql 设置默认的时间值
mysqlreport显示Com_中change_db占用比例高的问题的解决方法
解决mysql不能插入中文Incorrect string value
mysql从执行.sql文件时处理\n换行的问题
mysql 主从服务器的简单配置

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 125 ::
收藏到网摘: n/a

通过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 user: root@localhost
Current pager: stdout
Using outfile: ''
Server version: 5.0.37-log
Protocol version: 10
Connection: Localhost via UNIX socket
Client characterset: latin1
Server characterset: latin1
UNIX socket: /tmp/mysql.sock
Uptime: 4 days 16 hours 49 min 57 sec
Threads: 1 Questions: 706 Slow queries: 0 Opens: 177 Flush tables: 1 Open tables:

52 Queries per second avg: 0.002
--------------

这时再通过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 |

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