MySQL执行计划

概念:MySQL中的执行计划指通过explain语法分析SQL语句
语法:explain SQL语句\G
说明:通过explain分析分析指定SQL语句(注:\G表示格式化打印,后面不要加分号)
使用explain执行计划分析:
在这里插入图片描述
select_type - 查询类型
table - 表名
type - 连接类型
possible_keys - 可能用到的索引
key - 实际用到索引
key_len - 索引长度
rows - 检索了多少行数据
-> 分析:查询类型(select_type)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
-> 分析:连接所使用的类型(type)
这一列的常见值有:const、all、range、system、index

1 最好的是 system   一般在表中只有一行记录的或者查询系统表的时候出现
2 其次就是 const    一般在使用主键索引的时候会出现
3 其其次 range      一般在做范围查询的时候会使用,如:...where id < 100
4 index            代表可以使用索引做一些优化,一般在查询表的总行数的时候出现
5 all              一般使用不上索引的时候出现
6 ref				 意思是指 通过索引列,可以直接引用到某些数据行
7 eq_ref			 意思是指 通过索引列,可以直接引用某1行数据 

-> 分析:额外项(extra)

1 index: 		   是指用到了索引覆盖,效率非常高
2 using where      是指光靠索引定位不了,还得where判断一下

extra 中出现以下 2 项意味着 MYSQL 根本不能使用索引,效率会受到重大影响。应尽可能对此进行优化

1 using temporary 
2 表示 MySQL 在对查询结果排序时使用临时表。常见于排序 order by 和分组查询 3 group by
4 using filesort 
5 表示 MySQL 会对结果使用一个外部索引排序,而不是从表里按索引次序读到相关内容
6 可能在内存或者磁盘上进行排序
7 MySQL 中无法利用索引完成的排序操作称为“文件排序”

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值