MySQL查找SQL耗时瓶颈 SHOW profiles

Posted 旅途

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL查找SQL耗时瓶颈 SHOW profiles相关的知识,希望对你有一定的参考价值。

http://blog.csdn.net/k_scott/article/details/8804384

1、首先查看是否开启profiling功能
[sql] view plain copy
 
  1. SHOW VARIABLES LIKE ‘%pro%‘;  

或者

[sql] view plain copy
 
  1. SELECT @@profiling;  


2、开启profiling

[sql] view plain copy
 
  1. SET profiling=1;  

3、执行sql语句

例如:

[sql] view plain copy
 
  1. SELECT   
  2.   table_schema AS ‘Db Name‘,  
  3.   ROUND( SUM( data_length + index_length ) / 1024 / 1024, 3 ) AS ‘Db Size (MB)‘,  
  4.   ROUND( SUM( data_free ) / 1024 / 1024, 3 ) AS ‘Free Space (MB)‘  
  5. FROM information_schema.tables  
  6. GROUP BY table_schema ;  

4、查看结果

[sql] view plain copy
 
  1. SHOW profiles;  
[sql] view plain copy
 
  1. SHOW profile ALL FOR QUERY 94;  

94是查询ID号。

SHOW profiles语法:

[sql] view plain copy
 
  1. SHOW PROFILE [type [, type] … ]  
  2.     [FOR QUERY n]  
  3.     [LIMIT row_count [OFFSET offset]]  
  4.   
  5. type:  
  6.     ALL  
  7.   | BLOCK IO  
  8.   | CONTEXT SWITCHES  
  9.   | CPU  
  10.   | IPC  
  11.   | MEMORY  
  12.   | PAGE FAULTS  
  13.   | SOURCE  
  14.   | SWAPS  



 

 
 
 

以上是关于MySQL查找SQL耗时瓶颈 SHOW profiles的主要内容,如果未能解决你的问题,请参考以下文章

mysql 查询优化 ~ 善用profie利器

MySQL慢查询日志的使用

[转]向facebook学习,通过协程实现mysql查询的异步化

一个长耗时SQL在TiDB和Mysql上的耗时测试

有哪些方法可以改善 MySQL 的 IO 瓶颈问题

常用SQL语句