mysql性能分析工具
一、EXPALIN
在SQL语句之前加上EXPLAIN关键字就可以获取这条SQL语句执行的计划

那么返回的这些字段是什么呢?
我们先关心一下比较重要的几个字段:
1. select_type 查询类型
1)simple 简单查询,没有UNION和子查询
2)priamry 主查询,有UNION或子查询的最外层查询
3)union 联合查询,有UNION的第二个和以后的查询
4)subquery 子查询,有子查询的除FROM包含的子查询
5)derived 派生查询,FROM包含的子查询
6)dependent union, dependent subquery 受到外部表查询影响的union和subquery
2.type 查询方式
依次从好到差:system,const,eq_ref,ref,fulltext,ref_or_null,unique_subquery,index_subquery,range,index_merge,index,ALL
ps: 除了all之外,其他的type都可以使用到索引,除了index_merge之外,其他的type只可以用到一个索引
1)system 只有一行数据或者是空表,且引擎是myisam
2)const 常量 WHERE使用唯一索引(主键id,或者其他UNIQUE索引字段)搜索
3)eq_ref
4)ref 常见于辅助索引的等值查找
5)fulltext 全文索引检索
6)ref_or_null 与ref方法类似,只是增加了null值的比较
7)unique_subquery 用于where中的in形式子查询,子查询返回不重复值唯一值
8)index_subquery 用于where中的iin形式子查询,使用到了辅助索引或者in常数列表,子查询可能返回重复值
9)range 索引范围扫描,常见于使用>,<,is null,between ,in ,like等运算符的查询中
10)index_merge 使用了两个以上的索引,最后取交集或者并集
11)index 遍历索引树
12)ALL 全表数据扫描
3. extra 额外讯息
4. 其他
1)possible key 此次查询中可能选用的索引,一个或多个
2)key 查询真正使用到的索引
3)key_len 索引长度(用到的索引字段的长度相加,例如用到 id int(8) + age int(5) 索引长度为8+5+2=15,加2是固定额外要加的)
4)rows 估算的扫描行数
5)filtered 存储引擎返回的数据在server层过滤后,剩下多少满足查询的记录数量的百分比
二、mysql慢查询日志
1.找到mysql配置文件(一般在mysql安装目录下)
Windows为my.ini,Linux为my.cnf
[mysqld]
slow_query_log = ON
slow_query_log_file = '自定义路径'
long_query_time = 1
slow_query_log:是否开启慢查询日志
slow_query_log_file:慢查询日志的位置
long_query_time:慢查询的标准(秒)
2.重启mysql守护进程/服务,查看是否生效
SHOW VARIABLES LIKE '%slow_query%';
SHOW VARIABLES LIKE '%long_query%';


3.尝试慢查询
SELECT SLEEP(3);


三、Profile 会话级别的性能分析
1.只能在当前会话使用
SET profiling = 1;
2.随便输入几句SQL查询语句
SELECT * FROM house;
SELECT sleep(1);
SELECT sleep(3);
3. show profiles

4. show profile( 默认显示最近一次查询 select sleep(3) 详细性能报告)

5. show profile for query 2(查询Query_ID为2的查询 select sleep(1) 详细性能报告)

mysql性能分析工具的更多相关文章
- profile MySQL性能分析工具
分析SQL执行带来的开销是优化SQL的重要手段.在MySQL数据库中,可以通过配置profiling参数来启用SQL剖析.该参数可以在全局和session级别来设置.对于全局级别则作用于整个MySQL ...
- MySQL性能分析工具之PROFILE
Mysql Profile 如何开启Profiles功能以及如何简单使用: https://www.cnblogs.com/zengkefu/p/6519010.html MySQL profiles ...
- MySQL监控、性能分析——工具篇
https://blog.csdn.net/leamonjxl/article/details/6431444 MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性 ...
- MySQL监控、性能分析——工具篇(转载)
MySQL越来越被更多企业接受,随着企业发展,MySQL存储数据日益膨胀,MySQL的性能分析.监控预警.容量扩展议题越来越多.“工欲善其事,必先利其器”,那么我们如何在进行MySQL性能分析.监控预 ...
- 11个Visual Studio代码性能分析工具
软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...
- .NET 11 个 Visual Studio 代码性能分析工具
原文地址 软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行 ...
- MySQL性能剖析工具(pt-query-digest)【转】
这个工具同样来自percona-toolkit 该工具集合的其他工具 MySQL Slave异常关机的处理 (pt-slave-restart) 验证MySQL主从一致性(pt-table-chec ...
- 11 个 Visual Studio 代码性能分析工具
软件开发中的性能优化对程序员来说是一个非常重要的问题.一个小问题可能成为一个大的系统的瓶颈.但是对于程序员来说,通过自身去优化代码是十分困难的.幸运的是,有一些非常棒的工具可以帮助程序员进行代码分析和 ...
- 8、msyql性能分析工具
性能分析工具 1服务器优化的步骤 2查询系统参数 在MySQL中,可以使用 SHOW STATUS 语句查询一些MySQL数据库服务器的性能参数.执行频率 . SHOW STATUS语句语法如下: S ...
随机推荐
- 查询SQLSERVER中系统表结构
Declare @TableName Varchar(20); SET @TableName='B_SupplierDA'; --SELECT TE.字段名+',' --FROM ( SELECT ( ...
- 洛谷P2320鬼谷子的钱袋.
题目 这个题考察二进制分解. \(Code\) #include <bits/stdc++.h> #pragma GCC optimize(2) #pragma GCC optimize( ...
- 【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP
题目大意 一行有\(n\)个球,现在将这些球分成\(k\) 组,每组可以有一个球或相邻两个球.一个球只能在至多一个组中(可以不在任何组中).求对于\(1\leq k\leq m\)的所有\(k\)分别 ...
- Jeesite 代码生成
1.mysql数据库建表 参考自带的sys_area 的创表SQL复制来修修改改即可 2.配置代码生成文件覆盖路径 打开eclipse 按ctrl+shift+R 找到jeesite.propert ...
- 数论细节梳理&模板
初阶 扩展欧拉 \(k\ge\varphi(m)\)时,\(b^k\equiv b^{k\%\varphi(m)+\varphi(m)}(\bmod m\)) 扩展CRT 推式子合并同余方程. htt ...
- Hdoj 1159.Common Subsequence 题解
Problem Description A subsequence of a given sequence is the given sequence with some elements (poss ...
- Codeforces | CF1041F 【Ray in the tube】
昨天晚上全机房集体开\(Div2\),因为人傻挂两次\(B\)题的我开场就\(rank2000+\dots qwq\)于是慌乱之中的我就开始胡乱看题(口胡),于是看了\(F\dots\)(全机房似乎也 ...
- js日期格式转换的相关问题探讨
探讨问题1: 如何将 2017年8月22日 转换成 2017-8-22 / 2017-08-22呢 '2017年8月22日'.replace(/[年月日]/g,'-'); '2017年8月22日'.m ...
- 【原创】hdu 1166 敌兵布阵(线段树→单点更新,区间查询)
学习线段树的第三天...真的是没学点啥好的,又是一道水题,纯模板,我个人觉得我的线段树模板还是不错的(毕竟我第一天相当于啥都没学...找了一整天模板,对比了好几个,终于找到了自己喜欢的类型),中文题目 ...
- luogu3242 接水果 (整体二分+树状数组)
考虑整体二分,问题就变成了每个(水果)路径有多少个满足条件(权值)的(盘子)子路径 考虑一个盘子(a,b)表示两端点(不妨设dfn[a]<dfn[b]),那么他能接到的水果(u,v)一定满足(不 ...