mysql profile使用

标签: mysql profile | 发表时间:2014-11-11 02:48 | 作者:hongtoushizi
出处:http://www.iteye.com

转载自: http://hi.baidu.com/%C2%ED%B3%A4%D5%F72008/blog/item/3f8ec3fd9afe348fb801a0c5.html

mysql的sql语句优化都使用explain,但是这个没有办法知道详细的Memory/CPU等使用量
MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用

量, 执行过程 System lock, Table lock 花多少时间等等.
mysql> show variables like 'profiling%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| profiling              | OFF   |
| profiling_history_size | 15    |
+------------------------+-------+
开启此功能
mysql>set profiling=1;
mysql> show variables like 'profiling%';
# 此命令会让mysql在 information_schema 的 database 建立一個 PROFILING 的

table 来记录.
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| profiling              | ON    |
| profiling_history_size | 15    |
+------------------------+-------+
profiling_history_size记录多少次查询

mysql> show profiles;
+----------+------------+------------------------------------+
| Query_ID | Duration   | Query                              |
+----------+------------+------------------------------------+
|        1 | 0.00018100 | show variables like 'profiling%'   |
|        2 | 0.00020400 | show variables like 'profiling%'   |
|        3 | 0.00007800 | set profiling=1                    |
|        4 | 0.00011000 | show variables like 'profiling%'   |
|        5 | 0.00002400 | select count(1) from `mrhao_stats` |
|        6 | 1.52181400 | select count(*) from `mrhao_stats` |
|        7 | 0.00026900 | show variables like 'profiling%'   |

mysql> show profile for query 6;
+--------------------------------+----------+
| Status                         | Duration |
+--------------------------------+----------+
| (initialization)               | 0.000003 |
| checking query cache for query | 0.000042 |
| Opening tables                 | 0.00001 |
| System lock                    | 0.000004 |
| Table lock                     | 0.000025 |
| init                           | 0.000009 |
| optimizing                     | 0.000003 |
| statistics                     | 0.000007 |
| preparing                      | 0.000007 |
| executing                      | 0.000004 |
| Sending data                   | 1.521676 |
| end                            | 0.000007 |
| query end                      | 0.000003 |
| storing result in query cache | 0.000002 |
| freeing items                  | 0.000006 |
| closing tables                 | 0.000004 |
| logging slow query             | 0.000002 |
+--------------------------------+----------+
17 rows in set (0.00 sec)

mysql> show profile cpu for query 6;
+--------------------------------+----------+----------+------------+
| Status                         | Duration | CPU_user | CPU_system |
+--------------------------------+----------+----------+------------+
| (initialization)               | 0.000003 | 0        | 0          |
| checking query cache for query | 0.000042 | 0.001    | 0          |
| Opening tables                 | 0.00001 | 0        | 0          |
| System lock                    | 0.000004 | 0        | 0          |
| Table lock                     | 0.000025 | 0        | 0          |
| init                           | 0.000009 | 0        | 0          |
| optimizing                     | 0.000003 | 0        | 0          |
| statistics                     | 0.000007 | 0        | 0          |
| preparing                      | 0.000007 | 0        | 0          |
| executing                      | 0.000004 | 0        | 0          |
| Sending data                   | 1.521676 | 1.631752 | 0.036995   |
| end                            | 0.000007 | 0        | 0          |
| query end                      | 0.000003 | 0        | 0          |
| storing result in query cache | 0.000002 | 0        | 0          |
| freeing items                  | 0.000006 | 0        | 0          |
| closing tables                 | 0.000004 | 0        | 0          |
| logging slow query             | 0.000002 | 0        | 0          |
+--------------------------------+----------+----------+------------+
17 rows in set (0.00 sec)
    * ALL - displays all information
    * BLOCK IO - displays counts for block input and output operations
    * CONTEXT SWITCHES - displays counts for voluntary and involuntary

context switches
    * IPC - displays counts for messages sent and received
    * MEMORY - is not currently implemented
    * PAGE FAULTS - displays counts for major and minor page faults
    * SOURCE - displays the names of functions from the source code, together

with the name and line number of the file in which the function occurs
    * SWAPS - displays swap counts

查询时间跟cpu的使用
mysql> select min(seq) seq,state,count(*) numb_ops,
    round(sum(duration),5) sum_dur, round(avg(duration),5) avg_dur,
    round(sum(cpu_user),5) sum_cpu, round(avg(cpu_user),5) avg_cpu
    from information_schema.profiling
    where query_id = 7
    group by state
    order by seq;
关闭此功能

mysql> set profiling=0;
mysql> show variables like 'profiling%';
+------------------------+-------+
| Variable_name          | Value |
+------------------------+-------+
| profiling              | OFF   |
| profiling_history_size | 15    |
+------------------------+-------+

 

 



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [mysql profile] 推荐:

mysql profile使用

- - 数据库 - ITeye博客
mysql的sql语句优化都使用explain,但是这个没有办法知道详细的Memory/CPU等使用量. MySQL Query Profiler, 可以查询到此 SQL 语句会执行多少, 并看出 CPU/Memory 使用. 量, 执行过程 System lock, Table lock 花多少时间等等.

mysql中profile的使用

- - jackyrong
mysql 的 sql 性能分析器主要用途是显示 sql 执行的整个过程中各项资源的使用情况. 分析器可以更好的展示出不良 SQL 的性能问题所在.   首先在5.5中已经可以使用了,默认是关闭的,查看是否打开:.    mysql> SET profiling=1;或 SET profiling=on;.

mysql优化之profile查询分析

- - 数据库 - ITeye博客
通过慢日志查询可以知道哪些SQL语句执行效率低下,通过explain我们可以得知SQL语句的具体执行情况,索引使用等,还可以结合show命令查看执行状态. 如果觉得explain的信息不够详细,可以同通过 profiling命令得到更准确的SQL执行消耗系统资源的信息. 这里还需要注意一点就是,需要安装profile模块才能实现.

利用 index、explain和profile优化mysql数据库查询小结

- - 博客园_首页
想必大家对index,explain和profile的利用也很多,这是我最近两天优化mysql语句查询资料整理的一些内容,希望大家可以一起来补充一下. 1.最好是在相同类型的字段间进行比较的操作. 在MySQL 3.23版之前,这甚至是一个必须的条件. 例如不能将一个建有索引的INT字段和BIGINT字段进行比较;但是作为特殊的情况,在CHAR类型的字段和VARCHAR类型字段的字段大小相同的时候,可以将它们进行比较.

转载--MySQL调优三步曲(慢查询、explain profile)

- - SQL - 编程语言 - ITeye博客
mysql profile explain slow_query_log分析优化查询. 在做性能测试中经常会遇到一些sql的问题,其实做性能测试这几年遇到问题最多还是数据库这块,要么就是IO高要么就是cpu高,所以对数据的优化在性能测试过程中占据着很重要的地方,下面我就介绍一些msyql性能调优过程中经常用到的三件利器:.

Profile管理用户资源

- - ITeye博客
1.ProFile的概述. Profile是Oracle提供的一种针对用户资源使用和密码管理的策略配置. 借助Profile,可以实现特定用户资源上的限制和密码管理规则的应用. 在实际的应用中,Profile可以帮助我们实现很多应用层面比较困难实现的需求. Profile是Oracle安全策略的一个组成部分.

跑兩個不同 Profile 的 Chrome

- mrluanma - Gea-Suan Lin&#39;s BLOG
因為 Gmail 沒辦法很方便的切換帳號,所以得想辦法讓 cookie 分開存. 試著找套件來做到這件事情,但都不太好處理… 於是決定跑兩個不同 profile 的 Chrome (這樣 cookie 就會分開存了).

保存 3500 万 Google Profile 的本地数据库

- kira - 爱范儿 · Beats of Bits
最近这几个月里,倒霉的索尼(Sony)被黑了两次,首先是 PSN 大量用户资料泄漏直接导致 PSN 停摆数周,然后索尼爱立信的在线商店又被黑掉,索尼高层的腰都快直不起来了. 这样严重的用户资料失窃,也引发了大众对于云平台安全性的担忧,事实证明,这样的担忧并不是无的放矢. 在过去的几个月里,阿姆斯特丹大学的学生 Matthijs R.

Chromium OS 开始支持蓝牙设备,整合 Google Profile 头像

- SotongDJ - 谷奥——探寻谷歌的奥秘
Chrome OS会是一个不断自我进化的系统,没错,最新版的Chromium OS已经进化到了支持蓝牙的水平了. 你可以在chrome://flags的实验室里打开对蓝牙的支持,然后在设置里即可看到蓝牙了(上图). 另外新版Chromium OS也开始整合Google Profile,现在你可以将Google Profile的头像直接作为Chromebook登录画面的头像使用了:.

JBoss AS 7.1全面兼容Java EE 6 Full Profile

- - InfoQ cn
上周发布了 JBoss AS 7.1,这是首款全面兼容Java EE 6 Full Profile的JBoss服务器,继Apache Geronimo和Oracle GlassFish之后,成为了 又一款全面兼容Java EE 6 Full Profile的开源服务器. 去年,JBoss AS 7.0完成了 Java EE 6 Web Profile认证,但Full Profile中还额外包含Java Message Service、WebServices和多项管理技术.