在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功能
最新推荐文章于 2026-01-03 12:51:57 发布
本文介绍了MySQL 5.0.37及以上版本中Profile功能的使用方法,包括开启、关闭及查看SQL执行详情的过程。通过具体示例展示了如何利用此功能进行性能调优。
3362

被折叠的 条评论
为什么被折叠?



