详解mysql show profile功能

时间:2011-02-14 09:54 作者:mysql 点击:
详解mysql show profile功能

  

使用方法
set profiling=1;
show profiles;查看到 for query n
mysql> show profiles;
+----------+------------+--------
| Query_ID | Duration   | Query
有了Query_ID
show profile for query 1; #Query_ID 是1时

 Sending data很大的时候需要建搜索解决

 

在MYSQL的5.0.37版本以上,支持profile的功能;
小结如下:
show profile 的格式如下:

SHOW PROFILE [type [, type] … ]
[FOR QUERY n]
[LIMIT row_count [OFFSET offset]]

type:
ALL
| BLOCK IO
| CONTEXT SWITCHES
| CPU
| IPC
| MEMORY
| PAGE FAULTS
| SOURCE
| SWAPS

默认方式下该功能是关闭的:

mysql>select @@profiling;

+————-+
| @@profiling |
+————-+
| 0 |
+————-+
1 row in set (0.00 sec)

打开功能

mysql>set profiling=1;

+————-+
| @@profiling |
+————-+
| 1 |
+————-+
1 row in set (0.00 sec)

输入需要执行的sql 语句:

mysql>select count(*) from table;

mysql> show profiles\G;

通过指定的Query_ID 来查询指定的sql语句的执行信息:

mysql> show profile for query 1;

mysql> show profile cpu,block io for query 1;

如果不带for 参数则指列出最后一条语句的profile 信息:

mysql> show profile cpu,block io for query 1;


关闭参数:

mysql> set profiling=0

+—————+——-+
| Variable_name | Value |
+—————+——-+
| profiling | OFF |
+—————+——-+
1 row in set (0.00 sec)

以上数据转载互联网,小芳测试5.1大同小异,监控选项多了几个。
小芳解析下语法规则
SHOW PROFILE [type [, type] … ]
[FOR QUERY n]
[LIMIT row_count [OFFSET offset]]

其中的 for query n 可能刚看到有些不懂
此条为执行SQL语句的编译,n值我们可以从 show profiles; 可以查询到; 如果免去 for query n 则查询的是最后一个SQL语句。


使用方法
set profiling=1;
show profiles;查看到 for query n
mysql> show profiles;
+----------+------------+--------
| Query_ID | Duration   | Query
有了Query_ID
show profile for query 1; #Query_ID 是1时

 Sending data很大的时候需要建搜索解决


标签(Tag):
------分隔线----------------------------
推荐内容
热点内容