使用SHOW PROFILES语法可以做到这一点。打开MySQL会话时,可以将变量“分析”设置为1或ON。
mysql> SET profiling = 1;
因此,所有发送到服务器的语句将被分析并存储在历史记录中,并在以后通过键入以下命令显示:
mysql> SHOW PROFILES;
从MySQL手册中可以看到:
mysql> SET profiling = 1;Query OK, 0 rows affected (0.00 sec)mysql> DROP TABLE IF EXISTS t1;Query OK, 0 rows affected, 1 warning (0.00 sec)mysql> CREATE TABLE T1 (id INT);Query OK, 0 rows affected (0.01 sec)mysql> SHOW PROFILES;+----------+----------+--------------------------+| Query_ID | Duration | Query |+----------+----------+--------------------------+| 0 | 0.000088 | SET PROFILING = 1 || 1 | 0.000136 | DROP TABLE IF EXISTS t1 || 2 | 0.011947 | CREATE TABLE t1 (id INT) |+----------+----------+--------------------------+3 rows in set (0.00 sec)mysql> SHOW PROFILE;+----------------------+----------+| Status | Duration |+----------------------+----------+| checking permissions | 0.000040 || creating table | 0.000056 || After create | 0.011363 || query end | 0.000375 || freeing items | 0.000089 || logging slow query | 0.000019 || cleaning up | 0.000005 |+----------------------+----------+7 rows in set (0.00 sec)mysql> SHOW PROFILE FOR QUERY 1;+--------------------+----------+| Status | Duration |+--------------------+----------+| query end | 0.000107 || freeing items | 0.000008 || logging slow query | 0.000015 || cleaning up | 0.000006 |+--------------------+----------+4 rows in set (0.00 sec)mysql> SHOW PROFILE CPU FOR QUERY 2;+----------------------+----------+----------+------------+| Status | Duration | CPU_user | CPU_system |+----------------------+----------+----------+------------+| checking permissions | 0.000040 | 0.000038 | 0.000002 || creating table | 0.000056 | 0.000028 | 0.000028 || After create | 0.011363 | 0.000217 | 0.001571 || query end | 0.000375 | 0.000013 | 0.000028 || freeing items | 0.000089 | 0.000010 | 0.000014 || logging slow query | 0.000019 | 0.000009 | 0.000010 || cleaning up | 0.000005 | 0.000003 | 0.000002 |+----------------------+----------+----------+------------+
参考文献(在更新日期:2014年9月4日):
- SHOW PROFILE语法
-
INFORMATION_SCHEMA信息PROFILING表
- 如何使用MySQL查询剖析( 数字海洋最近公布的关于此问题的大文章。 )
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)