Quantcast
Channel: IT社区推荐资讯 - ITIndex.net
Viewing all articles
Browse latest Browse all 11804

mysql优化之profile查询分析

$
0
0

通过慢日志查询可以知道哪些SQL语句执行效率低下,通过explain我们可以得知SQL语句的具体执行情况,索引使用等,还可以结合show命令查看执行状态。

如果觉得explain的信息不够详细,可以同通过 profiling命令得到更准确的SQL执行消耗系统资源的信息。

 

这里还需要注意一点就是,需要安装profile模块才能实现。

 

1、不过版本要在5.0.37之后。(SHOW PROFILES and SHOW PROFILE were added in MySQL 5.0.37.)

 

SELECT @@profiling;

来查看是否已经启用profile,

 

如果profilng值为0,可以通过

SET profiling = 1;来启用。 变量profiling是用户变量,每次都得重新启用

 

启用profiling之后,我们执行一条查询语句,比如:

select count(*) from test;

 

然后show profiles查看如下:( show profiles来查看开启了profiling后的所有sql语句的id和消耗的时间

 

+----------------+------------+----------------------------------+

| Query_ID       | Duration   | Query                            |

+----------------+------------+----------------------------------+

|        1       | 0.00021500 | select @@profiling               |

|        2       | 0.05522700 | select count(*) from test        |

+----------------+------------+----------------------------------+

2 rows in set (0.00 sec)

 

其中ID为5的语句是刚执行的查询语句

 

 

2、 show profile all for query sql语句的query_id值  :可以通过该命令知道某个语句的cpu、io等的情况

 

 



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


ITeye推荐




Viewing all articles
Browse latest Browse all 11804

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>