MySQL SQL剖析(SQL profile)(4)

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 |
| optimizing          | 0.000012 |  0.87 |    1 | 0.0000120000 |
| query end            | 0.000011 |  0.79 |    1 | 0.0000110000 |
| end                  | 0.000010 |  0.72 |    1 | 0.0000100000 |
| closing tables      | 0.000010 |  0.72 |    1 | 0.0000100000 |
| executing            | 0.000006 |  0.43 |    1 | 0.0000060000 |
+----------------------+----------+-------+-------+--------------+

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/52d2c2d6d92dee7d815c01b44bfcc41b.html