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

MYSQL
提高MySQL 查询效率的三个技巧
mysql同步复制搭建方法指南详细步骤
详解MySQL中DROP,TRUNCATE 和DELETE的区别实现mysql从零开始
MySQL Replace INTO的使用
mysql 分页优化解析
同时运行多个MySQL服务器的方法
mysql主从服务器同步心得体会
删除mysql数据库中的重复数据记录
mysql忘记密码的解决方法
mysql替换表中的字符串的sql语句
Lost connection to MySQL server during query的解决
mysql出现Error performing load command的解决方法
mysql中的“money”类型说明
mysql常见错误集锦
MYSQL administrator 使用
MYSQL初学者命令行使用指南
MySQL的Query Cache原理分析
linux下改良版本mysqldump来备份MYSQL数据库
mysql删除表中某一字段重复的记录
log引起的mysql不能启动的解决方法

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 104 ::
收藏到网摘: 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 |

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