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 ...
随机推荐
- C 语言-----字符串和输入输出函数
在C语言中,没有字符串类型,那它是怎么表示字符串呢? 由于字符串是一系列单个字符的组合,所以它用char 类型的数组来表示字符串,在数组中,一个数组元素存放一个char类型字符. ]; name 变量 ...
- Qt 网格布局
把十六个button放到网格布局的界面上 #include "mainwindow.h" #include <QApplication> #include<QtW ...
- IntelliJ IDEA 导航的 20 大特性
本文由 ImportNew - elviskang 翻译自 dzone.欢迎加入翻译小组.转载请见文末要求. 在前面的文章里,我介绍了IntelliJ IDEA(以下称IntelliJ)中与代码补全及 ...
- BZOJ2229[Zjoi2011]最小割——最小割树
题目描述 小白在图论课上学到了一个新的概念——最小割,下课后小白在笔记本上写下了如下这段话: “对于一个图,某个对图中结点的划分将图中所有结点分成两个部分,如果结点s,t不在同一个部分中,则称这个划分 ...
- [Codeforces757G]Can Bash Save the Day?——动态点分治(可持久化点分树)
题目链接: Codeforces757G 题目大意:给出一棵n个点的树及一个1~n的排列pi,边有边权,有q次操作: 1 l r x 求 $\sum\limits_{i=l}^{r}dis(p_{i} ...
- Catch the Theves HDU - 3870(s - t平面图最小割)
题意: 板题...建个图..跑一遍spfa就好了...嘻嘻... 注意..数组大小就好啦..400 * 400 = 1600 我也是抑郁了..沙雕的我.. #include <iostream& ...
- 【XSY2730】Ball 多项式exp 多项式ln 多项式开根 常系数线性递推 DP
题目大意 一行有\(n\)个球,现在将这些球分成\(k\) 组,每组可以有一个球或相邻两个球.一个球只能在至多一个组中(可以不在任何组中).求对于\(1\leq k\leq m\)的所有\(k\)分别 ...
- hosts学习整理
hosts是一个没有扩展名的系统文件,其基本作用就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库” (测试发现,对于https 协议的网站无效,果然https还是有作用的,不会被屏蔽) ...
- 「CodeForces - 717E」Paint it really, really dark gray (dfs)
BUPT 2017 summer training (for 16) #1H 题意 每个节点是黑色or白色,经过一个节点就会改变它的颜色,一开始在1节点.求一条路径使得所有点变成黑色. 题解 dfs时 ...
- Android工程图片资源命名禁忌
Android工程中,res\drawable\ 文件夹下所有的图片资源文件命名,不允许: 1. 大写字母 从Eclipse的这个报错可以知道资源文件的命名规则. Invalid file name: ...