Mysql自带profiling性能分析工具

来源:互联网 发布:python客户端接口登录 编辑:程序博客网 时间:2024/05/12 09:58

本人随记,内容不一定百分百正确。

MySQL5.0.37版本及其以上支持了Profiling – 官方手册。此工具可用来查询 SQL 会执行多少时间,System lock和Table lock 花多少时间等等,对定位一条语句的 I/O消耗和CPU消耗 非常重要。

从启动profile之后的所有查询包括错误的语句都会记录。

关闭或者set profiling=0 就关闭了。接下来,我们就粗略的来看看profiling的用法。

首先,我们先链接上测试的数据库,查看profiling是否开启,我们执行以下语句:

show profiles;  发现未开启这个工具,我们把它开启,以便接下来测试。


开启profiling: set profiling = 1;

查看可知profiling已经开启。



接下来,我们就可以来测试我们的查询语句的耗时情况:

select * from si_qrcode_0 where sn='156250';

并输入show profiles;来查看语句执行情况。




我们也可以执行以下语句,来查看(query_id = 2)这条语句的详细耗时情况:

show profile for query 2;



查看具体一条(Query_ID=3 这一条)语句的profiles,包括CPU和柱塞I/O的情况.

show profile cpu, block io for query 2;



上面就获得了一条语句的CPU和Block IO消耗,对定位瓶颈很方便.

原创粉丝点击