一 简介:利用profile分析慢语句的过程有助于我们进行语句的优化

二 执行过程
   set profiling=1;
   set profiling=0;
  2 执行sql
  3 查看过程消耗

三 结果

1 查看执行过程耗时
  SHOW profile FOR query 1
  checking permissions:检查权限
  Opening tables:打开表
  init : 初始化
  System lock :系统锁
  optimizing : 优化
  statistics : 统计
  preparing :准备
  executing :执行
  Sending data :发送数据
  Sorting result :排序
  end :结束
  query end :查询 结束
  closing tables : 关闭表 /去除TMP 表
  freeing items : 释放物品
  cleaning up :清理
  值得关注的值 1 sending data 2 Sorting result 3 Opening tables 以上所有的值并不是都会出现,这点要注意
  2 查看资源消耗
 SHOW profile all FOR query 2
 "Duration": 持续时间
 "CPU_user": cpu用户
 "CPU_system": cpu系统
 "Context_voluntary":上下文主动切换
 "Context_involuntary": 上下文被动切换
 "Block_ops_in": 输入块的个数
 "Block_ops_out": 输出块的个数
 "Page_faults_major": 主分页错误
 "Page_faults_minor": 次分页错误
 值得关注的值 1 CPU相关值 2 Context 相关值 3 Block相关值
5 表查询
 SELECT STATE, FORMAT(DURATION, 6) AS DURATION FROM INFORMATION_SCHEMA.PROFILING WHERE QUERY_ID = 1 ORDER BY SEQ;

6 主要问题

简介: 本人对于大量的sql进行跟踪分析,遇到最多的就是sending data的耗时过多情况

分析:Sending data 1读取数据 2 处理(过滤,排序等。。) 3发送数据,是主要的进行数据处理的过程,包含了所有server层和innodb层的交互

mysql 查询优化 ~ 善用profie利器的更多相关文章

  1. MySQL查询优化:查询慢原因和解决技巧

    在开发的朋友特别是和mysql有接触的朋友会碰到有时mysql查询很慢,当然我指的是大数据量百万千万级了,不是几十条了,下面我们来看看解决查询慢的办法. MySQL查询优化:查询慢原因和解决方法 会经 ...

  2. Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析

    Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析     Atitit Mysql查询优化器 存取类型 范围存取类型 索引存取类型 AND or的分析1 存 ...

  3. MySQL查询优化之explain的深入解析

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

  4. 1025WHERE执行顺序以及MySQL查询优化器

    转自http://blog.csdn.net/zhanyan_x/article/details/25294539 -- WHERE执行顺序-- 过滤比较多的放在前面,然后更加容易匹配,从左到右进行执 ...

  5. mysql查询优化器为什么可能会选择错误的执行计划

    有可能导致mysql优化器选择错误的执行计划的原因如下: A:统计信息不准确,mysql依赖存储引擎为其提供的统计信息来评估成本,然而有的存储引擎提供的信息是准确的,有的引擎提供的可能就偏差很大,如: ...

  6. Mysql查询优化器

    Mysql查询优化器 本文的目的主要是通过告诉大家,查询优化器为我们做了那些工作,我们怎么做,才能使查询优化器对我们的sql进行优化,以及启示我们sql语句怎么写,才能更有效率.那么到底mysql到底 ...

  7. MySQL查询优化 (一)

    以下的文章主要讲述的是MySQL查询优化的5个十分好用方法,熟悉SQL语句的人都清楚,如果要对一个任务进行操作的话,SQL语句可以有很多种相关写法,但是不同的写法查询的性能可能会有天壤之别. 本文列举 ...

  8. MySQL查询优化:连接查询排序limit

    MySQL查询优化:连接查询排序limit(join.order by.limit语句) 2013-02-27      个评论       收藏    我要投稿   MySQL查询优化:连接查询排序 ...

  9. MySQL查询优化之explain

    在分析查询性能时,考虑EXPLAIN关键字同样很管用.EXPLAIN关键字一般放在SELECT查询语句的前面,用于描述MySQL如何执行查询操作.以及MySQL成功返回结果集需要执行的行数.expla ...

随机推荐

  1. TortoiseGit连接gitlab,一直要求输入密码

    问题背景: 公司使用gitlab作为代码管理平台,安装了TortoiseGit之后,使用正常.但是重启电脑之后,再次使用TortoiseGit操作时总是提醒输入gitlab的账号.如下图: 问题原因: ...

  2. 部署AWStats分析系统

    介绍 AWStats是使用Prel语言开发的一款开源日志分析系统,它不仅可以用来分析Apache网站服务器的访问日志,也可以用来分析Samba.Vsftpd.IIS等服务的日志信息. AWStats软 ...

  3. MVC 多submit

    直接上代码 3种情况: 第一种,由于form已经可以支持多个了.所以我们分成2个form来提交,submit会根据自己所在的form来提交当前表单的内容 @using (Html.BeginForm( ...

  4. MT【235】两道函数题

    已知$g(x)=x^2-ax+4a$,记$h(x)=|\dfrac{x}{g(x)}|$,若$h(x)$在$(0,1]$上单调递增,求$a$的取值范围. 解答: 已知$$g(x)=\begin{cas ...

  5. MT【50】高中曲线系集大成之双切线法

    [历史使人聪明,诗歌使人机智,数学使人精细,哲学使人深邃,道德使人严肃,逻辑与修辞使人善辩.--- Bacon,Francis] 练习: 评:这道2011高考题的解析做法参考答案也值得一看,但我这边在 ...

  6. 【POJ3045】Cow Acrobats(贪心)

    BUPT2017 wintertraining(16) #4 B POJ - 3045 题意 n(1 <= N <= 50,000) 个牛,重wi (1 <= W_i <= 1 ...

  7. LOJ #6435. 「PKUSC2018」星际穿越(倍增)

    题面 LOJ#6435. 「PKUSC2018」星际穿越 题解 参考了 这位大佬的博客 这道题好恶心啊qwq~~ 首先一定要认真阅读题目 !! 注意 \(l_i<r_i<x_i\) 这个条 ...

  8. 自学Linux Shell13.3-获得用户输入(read命令)

    Bash shell提供了一些不同的方法来从用户处获得数据,包括以下3中方法: 命令行参数(添加在名利后面的数据) 命令行选项(可修改命令行为的单个字母)主要getopt.getopts命令 直接从键 ...

  9. android 使用广播 接收和拦截 android系统短信

    package com.app.sms_broadcastreceiver; import android.app.Activity; import android.content.Broadcast ...

  10. 【转】typedef和#define的用法与区别

    typedef和#define的用法与区别 一.typedef的用法 在C/C++语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像: ...