zoukankan      html  css  js  c++  java
  • mysql 查询优化 ~ 善用profie利器

    一 简介:利用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层的交互

  • 相关阅读:
    MFC CDialog/CDialogEx DoModal ALT
    yum和apt-get用法及区别
    ubuntu 12.04 source.list 源更新
    elasticsearch 优化
    TRIE树
    数据统计经验浅谈
    机器学习
    python 读取libsvm文件
    spark 参数调优
    python中的一些函数
  • 原文地址:https://www.cnblogs.com/danhuangpai/p/9876766.html
Copyright © 2011-2022 走看看