设为首页 加入收藏

TOP

mysql性能调试工具profile(一)
2014-11-24 07:27:49 来源: 作者: 【 】 浏览:6
Tags:mysql 性能 调试 工具 profile

我一直在找mysql中有没有类似Oracle 10046类似的工具,可以看到SQL执行的时间消耗在哪里。终于在网上找到一个profile,使用一些,觉得不错。

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.6.16 |
+-----------+
1 row in set (0.00 sec)

mysql> SELECT @@profiling;
+-------------+
| @@profiling |
+-------------+
| 0 |
+-------------+
1 row in set, 1 warning (0.00 sec)

mysql> SET profiling = 1;
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> select count(1) from test1 t1,test2 t2;
+----------+
| count(1) |
+----------+
| 7096832 |
+----------+
1 row in set (0.38 sec)

mysql> show profile cpu,block io for query 1; --for query 1 是看第1条执行的SQL语句
+--------------------------------+----------+----------+------------+--------------+---------------+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+----------+----------+------------+--------------+---------------+
| starting | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking query cache for query | 0.000023 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000003 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Opening tables | 0.000026 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000007 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| System lock | 0.000022 | 0.000000 | 0.000000 | NULL | NULL |
| optimizing | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| statistics | 0.000012 | 0.000000 | 0.000000 | NULL | NULL |
| preparing | 0.000022 | 0.000000 | 0.000000 | NULL | NULL |
| executing | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| Sending data | 0.388263 | 0.375000 | 0.000000 | NULL | NULL |
| end | 0.000017 | 0.000000 | 0.000000 | NULL | NULL |
| query end | 0.000008 | 0.000000 | 0.000000 | NULL | NULL |
| closing tables | 0.000014 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000006 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000045 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| freeing items | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| storing result in query cache | 0.000004 | 0.000000 | 0.000000 | NULL | NULL |
| cleaning up | 0.000015 | 0.000000 | 0.000000 | NULL | NULL |
+--------------------------------+----------+----------+------------+--------------+---------------+
26 rows in set, 1 warning (0.00 sec)

mysql> select count(1) from test1 t1,test2 t2, test2 t3;
+------------+
| count(1) |
+------------+
| 1185170944 |
+------------+
1 row in set (1 min 26.67 sec)

mysql> show profile cpu,block io for query 2; --for query 2 是看第2条执行的SQL语句
+--------------------------------+-----------+-----------+------------+--------------+---------------+
| Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out |
+--------------------------------+-----------+-----------+------------+--------------+---------------+
| starting | 0.000005 | 0.000000 | 0.000000 | NULL | NULL |
| Waiting for query cache lock | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| init | 0.000002 | 0.000000 | 0.000000 | NULL | NULL |
| checking query cache for query | 0.000029 | 0.000000 | 0.000000 | NULL | NULL |
| checking permissions | 0.000002 | 0.

首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇mysql的安装、C++访问mysql数据库.. 下一篇Mysql免安装版安装配置及常用操作

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·PostgreSQL 索引 - (2025-12-25 22:20:43)
·MySQL Node.js 连接 (2025-12-25 22:20:41)
·SQL 撤销索引、表以 (2025-12-25 22:20:38)
·Linux系统简介 (2025-12-25 21:55:25)
·Linux安装MySQL过程 (2025-12-25 21:55:22)