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 语句 必须优化。

Mysql show profile 详解相关推荐

  1. mysql show profile详解_SQL 性能分析利器 show profile

    本文首发个人公众号<andyqian>, 期待你的关注- 前言 在之前的文章中,我们提到过一些慢SQL优化的步骤.其中就包括:使用 explain 关键字来查看执行计划,是否命中索引. 通 ...

  2. Mysql分析-profile详解

    一.前言 当我们要对某一条sql的性能进行分析时,可以使用它. Profiling是从 mysql5.0.3版本以后才开放的. 启动profile之后,所有查询包括错误的语句都会记录在内. 关闭会话或 ...

  3. Mysql分析-profile详解(转http://blog.csdn.net/ty_hf/article/details/54895026)

    一.前言 当我们要对某一条sql的性能进行分析时,可以使用它. Profiling是从 mysql5.0.3版本以后才开放的. 启动profile之后,所有 查询包括错误的语句都会记录在内. 关闭会话 ...

  4. linux centos7 mysql_Linux centos7环境下安装MySQL的步骤详解

    Linux centos7环境下安装MySQL的步骤详解 安装MySQL mysql 有两个跟windows不同的地方 1).my.ini 保存到/etc/my.ini 2).用户权限,单独用户执行 ...

  5. CentOS 8.1安装MySQL 8.0详解

    CentOS 8.1安装MySQL 8.0详解 引言 一.YUM在线安装 0.删除已安装的MySQL 1.添加MySQL Yum Repository 2.选择MySQL版本 3.安装MySQL 4. ...

  6. Mysql加锁过程详解(3)-关于mysql 幻读理解

    Mysql加锁过程详解(1)-基本知识 Mysql加锁过程详解(2)-关于mysql 幻读理解 Mysql加锁过程详解(3)-关于mysql 幻读理解 Mysql加锁过程详解(4)-select fo ...

  7. mysql status改变_mysql 配置详解mysql SHOW STATUS 详解

    1. back_log 指定MySQL可能的连接数量.当MySQL主线程在很短的时间内得到非常多的连接请求,该参数就起作用,之后主线程花些时间(尽管很短)检查连接并且启动一个新线程. back_log ...

  8. MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测)

    MySQL 表分区详解MyiSam引擎和InnoDb 区别(实测) 一.什么是表分区 通俗地讲表分区是将一大表,根据条件分割成若干个小表.mysql5.1开始支持数据表分区了. 如:某用户表的记录超过 ...

  9. Mysql存储引擎详解(MyISAM与InnoDB的区别)

    Mysql存储引擎详解(MyISAM与InnoDB的区别) 存储引擎     MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平 ...

  10. MySQL的Limit详解(转载)

    MySQL的Limit详解 问题:数据库查询语句,如何只返回一部分数据? Top子句 TOP 子句用于规定要返回的记录的数目.对于拥有数千条记录的大型表来说,TOP 子句是非常有用的. 在SQL Se ...

最新文章

  1. 开源:ASP.NET MVC+EF6+Bootstrap开发框架
  2. 【云栖大会精华汇】历届云栖大会精彩资料大放送,一篇看尽云栖大会前世今生...
  3. python数据类型详解
  4. python的格式_python 代码格式
  5. 03_设置轴标签和范围、轴的标签(Labels on Axes)、定义轴的范围、使用linspace定义X值 (“linspace“ to Define X Values)
  6. Windows系统云服务器安装、配置 MySQL 数据库
  7. 动手做个DialoGPT:生成式多轮对话模型
  8. Java中List、Map、Set三个接口,存取元素时,各有什么特点?
  9. c语言考博真题,中国科学院2015年考博英语真题及答案
  10. 【待完善】【表达学习】稀疏表达SRC方法研究
  11. inflect java_关于Platinum库的MediaRender具体C++代码实现探讨
  12. 作业三:代码规范、代码复审、PSP
  13. 1205 Lock wait timeout exceeded; try restarting transaction处理
  14. 计算机网络之(7):TCP流量控制、拥塞控制 + 网络层
  15. 玩转手机中的linux系统termux并搭建java开发环境
  16. 顺序容器迭代器之鄙见
  17. java发送图片邮件_使用javamail发送包含图片的html格式邮件详解
  18. Tina-TI电路仿真初体验(德州仪器电路仿真软件)
  19. OpenCV学习~moviepy视频裁剪
  20. 从技术层面浅析美链BEC从诞生到覆灭

热门文章

  1. android热成像模块,Thermal Camera
  2. 关闭jupyter notebook报错:python.exe-应用程序错误
  3. 平面曲线的弧长和曲率
  4. 曲率、曲率(对弧长)的导数以及曲率导数(对弧长)的导数的计算
  5. 陕西副市长猝死,其“豪宅”爆光震惊国人
  6. 前端基础01 HTML
  7. MStar点屏(LVDS接口屏)
  8. matlab图像编码实验,数字图像处理实验和matlab程序代码数字图像处理实验.doc
  9. SpringBoot 整合ActiveMQ
  10. 学好算法,真的需要智商吗?