MySQL中的explain怎么用

发布时间:2022-03-14 10:50:51 作者:小新
来源:亿速云 阅读:325

这篇文章给大家分享的是有关MySQL中的explain怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

分析sql的执行计划---explain

explain可以模拟sql优化执行sql语句。

1、explan使用简介

(1)用户表

MySQL中的explain怎么用

(2)部门表

MySQL中的explain怎么用

(3)未触发索引

MySQL中的explain怎么用

(4)触发索引

MySQL中的explain怎么用

(5)结果分析

explain中第一行出现的表是驱动表。

  1. 指定了联接条件时,满足查询条件的记录行数少的表为[驱动表]

  2. 未指定联接条件时,行数少的表为[驱动表]

对驱动表直接进行排序就会触发索引,对非驱动表进行排序不会触发索引。

2、explain查询结果简介

(1)id:SELECT识别符。这是SELECT的查询序列号。

(2)select_type:SELECT类型:

(3)table:表名

(4)type:联接类型

(5)possible_keys:possible_keys列指出MySQL能使用哪个索引在该表中找到行。注意,该列完全独立于EXPLAIN输出所示的表的次序。这意味着在possible_keys中的某些键实际上不能按生成的表次序使用。

(6)key:key列显示MySQL实际决定使用的键(索引)。如果没有选择索引,键是NULL。要想强制MySQL使用或忽视possible_keys列中的索引,在查询中使用FORCE INDEX、USE INDEX或者IGNORE INDEX。

(7)key_len:key_len列显示MySQL决定使用的键长度。如果键是NULL,则长度为NULL。注意通过key_len值我们可以确定MySQL将实际使用一个多部关键字的几个部分。

(8)ref:ref列显示使用哪个列或常数与key一起从表中选择行。

(9)rows:rows列显示MySQL认为它执行查询时必须检查的行数。

(10)Extra:该列包含MySQL解决查询的详细信息。

通过相乘EXPLAIN输出的rows列的所有值,你能得到一个关于一个联接如何的提示。这应该粗略地告诉你MySQL必须检查多少行以执行查询。当你使用max_join_size变量限制查询时,也用这个乘积来确定执行哪个多表SELECT语句。

感谢各位的阅读!关于“MySQL中的explain怎么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. MySQL中explain命令有什么用
  2. mysql中explain的作用

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

mysql explain

上一篇:智慧物业管理小程序如何开发

下一篇:医疗小程序有哪些实质性价值和影响

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》