使用方法
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很大的时候需要建搜索解决