一 简介:利用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. Directory操作

    操作文件夹 CreateDirectory() 创建新文件夹 Delete() 删除 Move() 剪切 Exists() 判断文件夹是否存在 //获取当前目录下所有文件夹的路径 Directory. ...

  2. 数据库左右连接on后的限制条件问题

    测试环境: MySQL 5.7.19 HeidiSQL 9.3 数据库界面连接工具(挺好用的) 碰到的问题是: Select * from t1 left outer join t2 on t1.id ...

  3. A Plug for UNIX POJ - 1087(模板题 没啥好说的。。就用了一个map)

    题意: 几种插头,每一种都只有一个,但有无限个插头转换器,转换器(a,b) 意味着 可以把b转换为a,有几个设备,每个设备对应一种插头,求所不能匹配插头的设备数量 这个题可以用二分图做 , 我用的是最 ...

  4. 自学Python2.1-基本数据类型-字符串方法 下

    自学Python之路 自学Python2.1-基本数据类型-字符串方法 下 class str(object): """ str(object='') -> str ...

  5. 自学Python2.9-循环(while、for)

    自学Python之路 自学Python2.9-循环(while.for) 1. while循环 Python中while语句的一般形式: while 判断条件: 语句 作用:提高开发效率,提高代码重用 ...

  6. [luogu4268][bzoj5195][USACO18FEB]Directory Traversal

    题目大意 给你\(n\)个文件的关系,求出某一个点,这个点到叶节点的长度的总距离最短.(相对长度的定义在题目上有说明) 感想 吐槽一下出题人,为什么出的题目怎么难看懂,我看了整整半个小时,才看懂. 题 ...

  7. Ubuntu16.04中禁用UTC解决双系统时间问题

    解决方法一 sudo hwclock -w --localtime 解决方法二 timedatectl set-local-rtc 1 解决方法三 修改/etc/adjtime文件中的UTC,为LOC ...

  8. Spring3.x 获取properties资源文件的值

    Spring3.x 获取properties资源文件的值有两种方式:  第一种:使用<context:property-placeholder />标签  <context:prop ...

  9. A1049. Counting Ones

    The task is simple: given any positive integer N, you are supposed to count the total number of 1's ...

  10. JAVA过滤器的使用(Filter)

    request.setCharacterEncoding("utf-8"); response.setContentType("text/html;charset=utf ...