Mysql使用profile分析sql开销的代码

本篇文章给大家带来的内容是关于mysql使用profile分析sql开销的代码,有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

Mysql使用profile分析sql开销

1.使用之前先查看当前数据库的版本信息,低版本无法使用.     show version();  或者 show variables like '%version%' 2.查看profiling     show variables like '%profil%'    ;      result:         +------------------------+-------+           | Variable_name          | Value |           +------------------------+-------+           | have_profiling         | YES   |   --只读变量,用于控制是否由系统变量开启或禁用profiling           | profiling              | OFF   |   --开启SQL语句剖析功能           | profiling_history_size | 15    |   --设置保留profiling的数目,缺省为15,范围为0至100,为0时将禁用p      show profiles; 查看是否开启,效果同上. 3.查看使用说明      help profile; 4.开启profile     set profiling=1; 赋值时候不要有多余的空格. 5.运行sql,查看对应的profile     select * from test ;     show profiles;                  result:     +----------+------------+--------------------------------------------------------------------------------------------------------------------------+     | Query_ID | Duration   | Query                                                                                                                    |     +----------+------------+--------------------------------------------------------------------------------------------------------------------------+     |       28 | 0.00033575 | select * from test                                                                                        |     +----------+------------+--------------------------------------------------------------------------------------------------------------------------+      分析sql性能,分析的时候可以加上对应的开销字段     show profile [cpu,io][all] for query 28 ;      show profile for query 28 ;      +----------------------+----------+     | Status               | Duration |     +----------------------+----------+     | starting             | 5.7E-5   |     | checking permissions | 7E-6     |     | Opening tables       | 1.7E-5   |     | init                 | 2.3E-5   |     | System lock          | 8E-6     |     | optimizing           | 5E-6     |     | statistics           | 1.1E-5   |     | preparing            | 9E-6     |     | executing            | 3E-6     |     | Sending data         | 8.8E-5   |     | end                  | 5E-6     |     | query end            | 6E-6     |     | closing tables       | 5E-6     |     | freeing items        | 7.8E-5   |     | cleaning up          | 1.5E-5   |     +----------------------+----------+ 6.关闭     set profiling=off;

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享