MySQL-了解MySQL中的执行计划explain

今天小编分享的是了解MySQL中的执行计划explain,可能大家对MySQL并不陌生,或者从来没有了解过MySQL。但是不用担心,今天小编会以最简单的描述来讲解MySQL的执行计划explain的原理。

平武ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

一、用法及定义:

explain为sql的执行计划、在sql前面加上explain关键字即可

如:explain select * from tbl_emp;

MySQL-了解MySQL中的执行计划explain

名词解释:

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

MySQL-了解MySQL中的执行计划explain

一般达到range级别就好,最好达到ref

possible:显示可能应用到这张表的索引,一个或者多个;查询涉及到的字段上若存在索引,则该索引将被列出,但不一定被查询实际使用。

简单说:MySQL推测,理论上可能用到的索引,但不一定被查询实际使用

key:查询实际用到的索引,如果为NULL,要么没建要么没用到,或者索引失效

覆盖索引:select后面查询的字段和所建复合索引的个数和顺序一模一样

如果理论上没有,而key中出现了,则是使用了覆盖索引

ref:显示索引的哪一列被使用了

rows:越小越好

Extra:不要出现Using filesort[文件内排序],using index(索引扫描,出现好一点)

二、作用:

MySQL-了解MySQL中的执行计划explain

实例:

MySQL-了解MySQL中的执行计划explain

创新互联在今年春节期间,新上线了三款“云数据库”的产品和服务 :云数据库MySQL、云数据库Redis以及云数据库Memcached。其中,云数据库MySQL是一种即开即用、稳定可靠、可弹性伸缩的“在线数据库服务”,具有多重安全防护措施和完善的性能监控体系,并提供专业的数据库备份、恢复及优化方案,使企业与用户能够更加专注于应用开发和业务发展。而云数据库redis,则是一种即开即用、稳定可靠的高性能数据缓存服务,支持“主从热备”,提供“自动容灾切换、实例监控、在线扩容”等功能。另外一款云数据库产品——云数据库Memcached,是一种内存级、持久化缓存服务,同样支持“主从热备”,提供“自动容灾切换、实例监控、在线扩容”等功能。


网站题目:MySQL-了解MySQL中的执行计划explain
分享URL:http://hbruida.cn/article/ghgejh.html