MySQL性能分析

1、使用Explain分析查询语句或表结构性能

用法 :explain+SQL语句
在这里插入图片描述

1、id 表示查询中执行select子句或者操作表的顺序

1、id相同,执行顺序由上到下
2、id不同,如果是子查询,id的序号回递增,id越大,执行优先级越高

2、select_type:查询的类型,主要用于区别普通查询、联合查询、子查询、复杂查询

	1、SIMPLE:简单的select查询,查询中不包含子查询或者union
	2、PRIMARY:查询中包含任何复杂的子部分,最外层查询则被标记为PRIMARY
	3、SUBQUERY:在FROM列表中包含的子查询被标记为DERIVED(衍生),mysql会递归执行这些子查询,把结果放在临时表里。

3、table 显示这一行的数据是关于那些表的

4、type 显示的是访问类型

结果值从最好到最坏依次是:
system>const>eq_ref>ref>fulltext>ref_or_null>index_merge>unique_subquery>index_subquery>range>index>All
在这里插入图片描述

5、possible_keys :显示可能应用在这张表中的索引,一个或者多个。查询涉及到的字段上若存在索引 ,则会被列出来

6、key:实际中使用的索引。如果为null,则没有使用索引。

7、key_len:表示索引中使用的字节数,可通过该列计算查询中使用的索引的长度。长度越短越好

8、ref:显示索引的哪一列被占用了,如果可能的话,是一个常用。

9、rows:大致估算出找到所需的记录需要读取的行数

10、Extra:一些额外的信息

eg:1、Using temporary:使用了临时表保存中间结果,mysql在对查询结果排序时使用临时表。常见排序order by和分组查询group
   2、 impossible where:where子句的值总是false,不能用来获取任何元组。
   3、Using join buffer:使用了连接缓存。
   4、Using where:表明使用了where过滤。
   5、distinct:优化distinct操作,在找到第一匹配的元组后即停止找相同值的动作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值