加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

MySQL-知晓MySQL中的执行计划explain

发布时间:2023-08-01 15:34:08 所属栏目:MySql教程 来源:
导读:分享的是了解MySQL中的执行计划explain,可能大家对MySQL并不陌生,或者从来没有了解过MySQL。但是不用担心,今天小编会以最简单的描述来讲解MySQL的执行计划explain的原理。

一、用法及定义:

explain为sql
分享的是了解MySQL中的执行计划explain,可能大家对MySQL并不陌生,或者从来没有了解过MySQL。但是不用担心,今天小编会以最简单的描述来讲解MySQL的执行计划explain的原理。
 
一、用法及定义:
 
explain为sql的执行计划、在sql前面加上explain关键字即可
 
如:explain select * from tbl_emp;
 
名词解释:
 
id:【操作表的顺序】
 
1.id相同,表的执行顺序从上往下依次执行
 
2.id不同,id越大的越先执行
 
3.id相同和不同的一起,越大的先执行,然后再按顺序从上往下依次执行
 
select_type:查询类型【区分简单查询,子查询,联合查询】
 
一般有:SIMPLE[最简答的sql查询],PRIMARY[查询中若包含任何复杂的子查询,最外层查询则被标记],
 
SUBQUERY[在select或where列表中包含子查询]
 
UNION
 
.............
 
type:访问类型【最好到最差】
 
system > const > eq_ref > ref > range > index> ALL
 
一般达到range级别就好,最好达到ref
 
possible:显示可能应用到这张表的索引,一个或者多个;查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用。
 
简单说:MySQL推测,理论上可能用到的索引,但不一定被查询实际使用
 
key:查询实际用到的索引,如果为NULL,要么没建要么没用到,或者索引失效
 
覆盖索引:select后面查询的字段和所建复合索引的个数和顺序一模一样
 
如果理论上没有,而key中出现了,则是使用了覆盖索引
 
ref:显示索引的哪一列被使用了
 
rows:越小越好
 
Extra:不要出现Using filesort[文件内排序],using index(索引扫描,出现好一点)
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章