[转帖]Mysql show profile 详解_MySQL, Oracle及数据库讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  MySQL, Oracle及数据库讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 2463 | 回复: 0   主题: [转帖]Mysql show profile 详解        上一篇   下一篇 
NafalemSt
注册用户
等级:新兵
经验:66
发帖:2
精华:0
注册:2018-10-9
状态:离线
发送短消息息给NafalemSt 加好友    发送短消息息给NafalemSt 发消息
发表于: IP:您无权察看 2019-9-12 15:21:51 | [全部帖] [楼主帖] 楼主

1、show profile 是什么?

Show profile 是mysql 提供可以用来分析当前会话中语句执行的资源消耗情况。可以用于sql 调优的测量。

         默认情况下,参数处于关闭状态,并保存最近15次的运行结果。

2、分析步骤:

2.1 是否支持:查看当前的mysql版本是否支持;

            命令:show variables like ‘profiling%’;

                     默认关闭,使用前需要开启

北京联动北方科技有限公司

2.2 默认关闭,使用前需要开启:

命令:set profiling=on;

北京联动北方科技有限公司

2.3 运行sql;

2.4 查看结果:

Show profiles;


北京联动北方科技有限公司

2.5 诊断sql ,show profile cpu, block io for query 问题sql数字号码;

语法:Show profile type , block type for query 问题sql数字号码

其中type:

ALL: 显示所有的开销信息

BLOCK IO : 显示块IO相关开销

CONTEXT SWITCHS: 上下文切换相关开销

CPU : 显示cpu 相关开销

IPC: 显示发送和接收相关开销

MEMORY: 显示内存相关开销

PAGE FAULTS:显示页面错误相关开销信息

SOURCE : 显示和Source_function ,Source_file,Source_line 相关的开销信息

SWAPS:显示交换次数相关的开销信息

北京联动北方科技有限公司

Status : sql 语句执行的状态

Duration: sql 执行过程中每一个步骤的耗时

CPU_user: 当前用户占有的cpu

CPU_system: 系统占有的cpu

Block_ops_in : I/O 输入

Block_ops_out : I/O 输出

3、日常开发需要注意的结论:

        3.1   converting HEAP to MyISAM : 查询结果太大,内存都不够用了,往磁盘上搬了;

          3.2   creating tmp table :创建临时表,拷贝数据到临时表,然后再删除;

          3.3   copying to tmp table on disk :把内存中临时表复制到磁盘,危险!!!

          3.5   locked

          注:以上四个中若出现一个或多个,表示sql 语句 必须优化。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论