MySql 使用SHOW PROFILE 进行SQL 分析

来源:互联网 发布:暴走漫画淘宝 编辑:程序博客网 时间:2024/06/06 05:44

什么是SHOW PROFILE:
    SHOW PROFILE 是MySql 提供可以用来分析当前会话语句执行的资源消耗情况,可以用于SQL 的调优测评依据。在默认的情况下,参数处于关闭状态,并保存着最近15 次的运行结果。我们可以通过 SHOW VARIABLES LIKE ‘PROFILING’; 命令查看参数的开关情况;通过 SET PROFILING = ON; 命令设置开启状态。

    我们看看当我们执行SHOW PROFIES; 会查询到些什么?

Query_ID    Duration    Query152         0.0012655   SHOW STATUS153         0.00120325  SELECT QUERY_ID, SUM(DURATION) AS SUM_DURATION FROM                         INFORMATION_SCHEMA.PROFILING GROUP BY QUERY_ID154         0.0002665   SELECT STATE AS `状态`, ROUND(SUM(DURATION),7) AS `期间`,                                                                                                                                            CONCAT(ROUND(SUM(DURATION)/0.001724*100,3), '%') AS                         `百分比` FROM INFORMATION_SCHEMA.PROFILING                          WHERE QUERY_ID=151 GROUP BY STATE ORDER BY SEQ155         0.000189    SET PROFILING=1156         0.00206525  SHOW STATUS157         0.001668    SHOW STATUS158         0.00054625  SELECT * FROM t_emp WHERE dept_id in (SELECT dept_id FROM t_dept) LIMIT 5159         0.001448    SHOW STATUS160         0.00115475  SELECT QUERY_ID, SUM(DURATION) AS SUM_DURATION FROM                         INFORMATION_SCHEMA.PROFILING GROUP BY QUERY_ID161         0.00026725  SELECT STATE AS `状态`, ROUND(SUM(DURATION),7)                         AS `期间`, CONCAT(ROUND(SUM(DURATION)/0.000550*100,3), '%')                         AS `百分比` FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID=158                         GROUP BY STATE ORDER BY SEQ162         0.00019575  SELECT * FROM `ssm_crud`.`t_emp` LIMIT 0163         0.0007275   SHOW COLUMNS FROM `ssm_crud`.`t_emp`164         0.0001305   SET PROFILING=1165         0.00131475  SHOW STATUS166         0.0011755   SHOW STATUS

    Query_ID表示从连接上数据库到现在执行的SQL 语句序号,Duration 表示执行该SQL 所耗费的时间(S),Query 表示执行的操作。如果我们想要具体的知道执行SQL 时CPU 与 I/O 的消耗,可以使用 SHOW PROFILE CPU ,BLOCK IO FOR QUERY Query_ID; 命令。通过下图我们可以通过Status 属性清楚的知道MySql 在执行SQL 语句时每个阶段所消耗的时间,CPU 内存 与 I/O 资源。
这里写图片描述
    但是如果在Status 属性中我们看到了如下表中的一些值,就说明我们的SQL 在执行会消耗大量的时间,需要优化。由于我本地的数据库中只有很少的数据信息,并没有出现下面的情况。

Status 介绍 converting HEAP to MyISAM 查询结果集太大,内存不够借用磁盘空间 Creating tmp table 拷贝数据到临时表(先创建,然后拷贝数据,用完后会自动删除),很消耗资源 Coping to tmp table on disk 把内存中的临时表复制到磁盘,很危险 locked 加锁
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 银行入职培训理论考试不合格怎么办 去泰国旅游不会泰语和英语的怎么办 老板不发工资怎么办没签合同的 3d模型导进去材质丢失怎么办 七日杀显示载入中之后进不去怎么办 进京证过期了车在北京怎么办 微信打字时剪切的东西丢了怎么办 错过了医师定期考核报名时间怎么办 大学档案在自己手里放多年怎么办 档案在自己手里10年了怎么办 快递地址区域划分写错了怎么办 怀孕八个月肛门长个肉疙瘩怎么办呢 客户签了合同不要货了怎么办 不喂母乳宝宝只认识保姆了怎么办? 开创者比赛后没有买的鸽子怎么办 买回来小鸽子开家我敢了怎么办 小鸽子出壳后母鸽就不孵了怎么办 狗狗在笼子里一直叫怎么办 养了一年母鸽子不配对怎么办 血管翳云翳斑翳长满眼睛怎么办 鸽子训放50公里突然下雨了怎么办 安卓手机反应慢又卡怎么办 tcl安卓系统电视反应慢怎么办 狼人杀警长竞选一直平票怎么办 去驾校投诉教练被教练报复怎么办 哈尔滨机场大巴六点的飞机怎么办 山东德州恩城镇的农民怎么办养老险 我的世界联机平台房间进不去怎么办 验车时间过了3天怎么办 在携程订的机票和酒店不能退怎么办 千牛工作台中旺旺登录失败怎么办 掌通家园换手机号了忘了更改怎么办 qq注销了后绑定的全民k歌怎么办 小米账号绑定的手机号注销了怎么办 微信账号注销后绑定的手机号怎么办 微信账号不想用了注销不了怎么办 苹果手机掉了捡到不还怎么办 在工作中把和别人结下梁子了怎么办 在阿里巴巴上买的货物没发货怎么办 做了下颌角一边脸反复肿怎么办 玩广东11选5输50万怎么办