在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;
+——————————–+———-+
| Status | Duration |
+——————————–+———-+
| starting | 0.000028 |
| checking query cache for query | 0.000008 |
| checking privileges on cached | 0.000009 |
| sending cached result to clien | 0.000023 |
| logging slow query | 0.000004 |
| cleaning up | 0.000003 |
+——————————–+———-+
6 rows in set (0.00 sec)
mysql> show profile cpu,block io for query 1;
+——————————–+———-+———-+————+————–+—————+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+——————————–+———-+———-+————+————–+—————+
| starting | 0.000028 | NULL | NULL | NULL | NULL |
| checking query cache for query | 0.000008 | NULL | NULL | NULL | NULL |
| checking privileges on cached | 0.000009 | NULL | NULL | NULL | NULL |
| sending cached result to clien | 0.000023 | NULL | NULL | NULL | NULL |
| logging slow query | 0.000004 | NULL | NULL | NULL | NULL |
| cleaning up | 0.000003 | NULL | NULL | NULL | NULL |
+——————————–+———-+———-+————+————–+—————+
6 rows in set (0.00 sec)
如果不带for 参数则指列出最后一条语句的profile 信息:
mysql> show profile cpu,block io for query 1;
+——————————–+———-+———-+————+————–+—————+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+——————————–+———-+———-+————+————–+—————+
| starting | 0.000028 | NULL | NULL | NULL | NULL |
| checking query cache for query | 0.000008 | NULL | NULL | NULL | NULL |
| checking privileges on cached | 0.000009 | NULL | NULL | NULL | NULL |
| sending cached result to clien | 0.000023 | NULL | NULL | NULL | NULL |
| logging slow query | 0.000004 | NULL | NULL | NULL | NULL |
| cleaning up | 0.000003 | NULL | NULL | NULL | NULL |
+——————————–+———-+———-+————+————–+—————+
6 rows in set (0.00 sec)
关闭参数:
mysql> set profiling=0
+—————+——-+
| Variable_name | Value |
+—————+——-+
| profiling | OFF |
+—————+——-+
1 row in set (0.00 sec)
mysql 5.0中的profile功能
最新推荐文章于 2024-07-21 19:06:05 发布