169it -->


 
当前位置:  数据库>mysql

mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句

 
分享到:
    发布时间:2014-10-28  


    mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句mysql中查询当前正在运行的SQL语句的方法如下:进入mysql并执行mysql>showprocesslist;Id|User|Host ...

mysql中查询当前正在运行的SQL语句并找出mysql中运行慢的sql语句

mysql中查询当前正在运行的SQL语句的方法如下:

进入mysql并执行

mysql>show processlist;
 Id    | User | Host            | db          | Command | Time | State        | Info      
+-------+------+-----------------+-------------+---------+------+--------------
+-------------------------------------------------------------------------------+
|    12 | user_169it  | localhost:36506 | 169it       | Sleep   |    2 |              | NULL                                        
|    42 | user_169it | localhost:58020 | 169it       | Sleep   | 1927 |              | NULL                                                 
|    43 | user_169it | localhost:58056 | local_169it | Sleep   |   13 |              | NULL 
| 33827 | user_169it | localhost:45620 | mydb        | Query   |   32 | Sending data | select id,name from 169it.mytable where state=1 order by id desc limit 50

Sending data这一行则表示当前正在执行的mysql语句.  

找出mysql中运行慢的sql语句的方法:

启动Mysql时加参数--log-slow-queries来记录执行时间超过long_query_time秒的sql。

MySQL 自带 slow log 的分析工具 mysqldumpslow。

slow log 是 MySQL 根据 SQL 语句的执行时间设定,写入的一个文件,用于分析执行较慢的语句。

只要在 my.cnf 文件中配置好: 

log-slow-queries = [slow_query_log_filename]

即可记录超过默认的 10s 执行时间的 SQL 语句。

如果要修改默认设置,可以添加:

long_query_time = 5 

设定为 5s .

explain来了解SQL执行的状态。

explain select * from wp_posts\G;

另外进入mysql并执行status可以查看当前系统中所有mysql语句的执行情况。

mysql>status;
mysql  Ver 14.14 Distrib 5.5.15, for Linux (i686) using readline 5.1
Connection id:          37542
Current database:
Current user:           root@user_169it
SSL:                    in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.5.32-log MySQL Community Server (GPL)
Protocol version:       11
Connection:             Localhost via TCP socket
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
UNIX socket:            /tmp/mysql.sock
Uptime:                 32 days 15 min 58 sec
Threads: 22  Questions: 37328  Slow queries: 111  Opens: 120  Flush tables: 1  Open tables: 76  Queries per second avg: 7.208

本类别最新文章推荐:


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2015,169IT.COM,站长邮箱:www_169it_com#163.com(请将#改为@)

浙ICP备11055608号


-->