MySQLSQL剖析(SQLprofile)(四)

2014-11-24 13:45:53 · 作者: · 浏览: 4
.000000 | | query end | 0.000011 | 0.000000 | 0.000000 | | closing tables | 0.000010 | 0.000000 | 0.000000 | | freeing items | 0.000016 | 0.000000 | 0.000000 | | cleaning up | 0.000029 | 0.000000 | 0.000000 | +----------------------+----------+----------+------------+ --如下为MEMORY部分的开销 root@localhost[sakila]> show profile memory for query 2 ; +----------------------+----------+ | Status | Duration | +----------------------+----------+ | starting | 0.000148 | | checking permissions | 0.000014 | | Opening tables | 0.000047 | | init | 0.000023 | | System lock | 0.000035 | | optimizing | 0.000012 | | statistics | 0.000019 | | preparing | 0.000014 | | executing | 0.000006 | | Sending data | 0.000990 | | end | 0.000010 | | query end | 0.000011 | | closing tables | 0.000010 | | freeing items | 0.000016 | | cleaning up | 0.000029 | +----------------------+----------+ --同时查看不同资源开销 root@localhost[sakila]> show profile block io,cpu for query 2; +----------------------+----------+----------+------------+--------------+---------------+ | Status | Duration | CPU_user | CPU_system | Block_ops_in | Block_ops_out | +----------------------+----------+----------+------------+--------------+---------------+ | starting | 0.000148 | 0.000000 | 0.000000 | 0 | 0 | | checking permissions | 0.000014 | 0.000000 | 0.000000 | 0 | 0 | | Opening tables | 0.000047 | 0.000000 | 0.000000 | 0 | 0 | | init | 0.000023 | 0.000000 | 0.000000 | 0 | 0 | | System lock | 0.000035 | 0.000000 | 0.000000 | 0 | 0 | | optimizing | 0.000012 | 0.000000 | 0.000000 | 0 | 0 | | statistics | 0.000019 | 0.000000 | 0.000000 | 0 | 0 | | preparing | 0.000014 | 0.000000 | 0.000000 | 0 | 0 | | executing | 0.000006 | 0.000000 | 0.000000 | 0 | 0 | | Sending data | 0.000990 | 0.001000 | 0.000000 | 0 | 0 | | end | 0.000010 | 0.000000 | 0.000000 | 0 | 0 | | query end | 0.000011 | 0.000000 | 0.000000 | 0 | 0 | | closing tables | 0.000010 | 0.000000 | 0.000000 | 0 | 0 | | freeing items | 0.000016 | 0.000000 | 0.000000 | 0 | 0 | | cleaning up | 0.000029 | 0.000000 | 0.000000 | 0 | 0 | +----------------------+----------+----------+------------+--------------+---------------+ --Author: Leshami --Blog : http://blog.csdn.net/leshami --下面的SQL语句用于查询query_id为2的SQL开销,且按最大耗用时间倒序排列 root@localhost[sakila]>
set @query_id=2; root@localhost[sakila]> SELECT STATE, SUM(DURATION) AS Total_R, -> ROUND( -> 100 * SUM(DURATION) / -> (SELECT SUM(DURATION) -> FROM INFORMATION_SCHEMA.PROFILING -> WHERE QUERY_ID = @query_id -> ), 2) AS Pct_R, -> COUNT(*) AS Calls, -> SUM(DURATION) / COUNT(*) AS "R/Call" -> FROM INFORMATION_SCHEMA.PROFILING -> WHERE QUERY_ID = @query_id -> GROUP BY STATE -> ORDER BY Total_R DESC; +----------------------+----------+-------+-------+--------------+ | STATE | Total_R | Pct_R | Calls | R/Call | +----------------------+----------+-------+-------+--------------+ | Sending data | 0.000990 | 71.53 | 1 | 0.0009900000 |--最大耗用时间部分为发送数据 | starting | 0.000148 | 10.69 | 1 | 0.0001480000 | | Opening tables | 0.000047 | 3.40 | 1 | 0.0000470000 | | System lock | 0.000035 | 2.53 | 1 | 0.0000350000 | | cleaning up | 0.000029 | 2.10 | 1 | 0.0000290000 | | init | 0.000023 | 1.66 | 1 | 0.0000230000 | | statistics | 0.000019 | 1.37 | 1 | 0.0000190000 | | freeing items | 0.000016 | 1.16 | 1 | 0.0000160000 | | preparing | 0.000014 | 1.01 | 1 | 0.0000140000 | | checking permissions | 0.000014 | 1.01 | 1 | 0.0000140000 | | op