日期:2014-05-16  浏览次数:20785 次

MySQL SQL语句性能分析
set profiling = 1;

select * from g_staff;

show profiles

SHOW profile CPU,BLOCK IO  FOR query 88;


select * from NFORMATION_SCHEMA.PROFILING


将 MySQL’s SHOW PROFILES 命令的结果转成适合阅读的格式

SET @query_id := 5;
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;