iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >mysql学习笔记之explain分析
  • 214
分享到

mysql学习笔记之explain分析

mysql学习笔记之explain分析 2017-08-03 04:08:02 214人浏览 无得
摘要

Mysql explain功能中展示各种信息的解释: id:优化器选定的执行计划中查询的序列号。 select_type:所用的查询类型,主要由以下这集中查询类型。   . DEPENDENT UNION:子查询中的UN

mysql学习笔记之explain分析

Mysql explain功能中展示各种信息的解释:

id:优化器选定的执行计划中查询的序列号。
select_type:所用的查询类型,主要由以下这集中查询类型。
  . DEPENDENT UNION:子查询中的UNioN,且为UNION中从第二个SELECT开始的后面所有SELECT,同样依赖于外部查询的结果集。

  . SIMPLE:厨子查询或UNION之外的其他查询。
    》explain select * from admin_user where user_id = 1 G;

  . PRIMARY:子查询中最外层查询,注意并不是主键查询。
  . SUBQUERY: 子查询内层查询的第一个SELECT,结果不依赖与外部查询结果集。
    》explain select * from role where id = (select role_id from admin_user where user_id = 1) G;

  . UNCACHEABLE SUBQUERY:结果集无法缓存的子查询

  . UNION:UNION 语句中第二个SELECT开始后面的所有SELECT,第一个SELECT为PRIMARY。

  . UNION RESULT:UNION 中的合并结果。

table:显示这一步所访问的数据库中的表的名称。
type:告诉我们对标使用的访问方式,主要包含如下几种类型。
  . all: 全表扫描。
  . const: 读常量,最多只会有一条记录匹配,由于是常量,实际上只需要读一次。
  . eq_ref:最多只会有一条匹配结果,一般是通过主键或唯一键索引来访问
  . fulltext:进行全文索引检索
  . index:全索引扫描
  . index_merge:查询中同时使用两个(或更多)索引,然后对索引结果进行和并,在读取表数据。
  . index_subquery:子查询中的返回结果字段组合是一个索引(或索引组合),但不是一个主键或唯一索引。
  . rang:索引范围扫描。
  . ref:join语句中被驱动表索引引用的查询。
  . ref_or_null:与ref的唯一区别就是使用索引引用的查询之外再增加一个空值的查询。
  . system:系统表,表中只有一行数据:
  . unique_subqery:子查询中的返回结果字段组合式主键或唯一约束。
Possible_keys:该查询可以利用的索引。如果没有任何索引可以使用,就会显示为null,这项内容对优化索引时的调整非常重要。
key:优化器从possible_keys中选择使用的索引。
key_len:被选中使用索引的索引建长度。
ref:列出是通过常量,还是某个字段的某个字段来过滤的
rows:优化其通过系统手机的统计信息估算出来的结果集记录条数
extra:查询中每一步实现的额外细节信息。
  . using index : 出现这个说明mysql使用了覆盖索引,避免访问了表的数据行,效率不错。
  . using where :这说明服务器在存储引擎收到行后讲进行过滤。
  . using temporary :这意味着mysql对查询结果进行排序的时候使用了一张临时表
  . using filesort :这个说明mysql会对数据使用一个外部的索引排序

注意当出现using temporary 和 using filesort时候说明需要优化操作

来自六星教育学习笔记整合

附上一个之前的问题  https://bbs.csdn.net/topics/394590177

您可能感兴趣的文档:

--结束END--

本文标题: mysql学习笔记之explain分析

本文链接: https://www.lsjlt.com/news/6628.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作