mysql中explain的用法_mysql substr用法

mysql中explain的用法_mysql substr用法基于Mysql5.7版本的explain参数详解…Mysql官网相关参数解读一:idSELECT标识符1.id越大越先执行2.相同id,从从往下执行二:select_type1.SIMPLE:最简单的查询(没有关联查询没有子查询没有union的查询语句)2:PRIMARY:子查询最外层的查询语句3.SUBQUERY:子查询内层查询语句4.DERIVED:派生表查询,FROM后的不是表而是查询后的结果集5.UNION:union或unionall中的第二个以后的查询表6.U

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

基于Mysql5.7版本的explain参数详解…

在这里插入图片描述

mysql官网相关参数解读

在这里插入图片描述

一:id SELECT标识符
1.id越大越先执行
2.相同id,从从往下执行

二:select_type
1.SIMPLE :最简单的查询(没有关联查询没有子查询没有union的查询语句)
在这里插入图片描述

2:PRIMARY:子查询最外层的查询语句
3.SUBQUERY:子查询内层查询语句
在这里插入图片描述

4.DERIVED:派生表查询, FROM后的不是表而是查询后的结果集
5.UNION:union或union all中的第二个以后的查询表
6.UNION RESULT:union后的结果集
在这里插入图片描述

三: table 输出行所引用的表的名称
<unionM,N>:指id值为M和N的行的并集。
<derived N:该行引用id值为N的行的派生表结果。
<subquery N:该行是指该行的物化子查询的结果,其id 值为N
在这里插入图片描述

四:partitions 分区
查询将从中匹配记录的分区。对于未分区的表,该值为NULL。

五:type: the join type 关联类型
ordered from the best type to the worst 从最优到最劣
1.system: 该表为系统表而且只有一行。这是const联接类型的特例 。
2.const: 在PRIMARY KEY或 UNIQUE index的所有部分与常量值进行比较时使用
在这里插入图片描述

3.eq_ref:关联的被驱动表的字段时主键索引或者唯一索引
在这里插入图片描述

4.ref:对于先前表中的每个行组合,将从该表中读取具有匹配索引值的所有行。ref如果联接仅使用键的最左前缀,或者如果键不是aPRIMARY KEY或 UNIQUE索引(换句话说,如果联接无法基于键值选择单个行),则使用。如果使用的键仅匹配几行,则这是一种很好的联接类型。
在这里插入图片描述

5.range:使用索引选择行,仅检索给定范围内的行
在这里插入图片描述

6.index:查询覆盖索引的所有数据
在这里插入图片描述

7.all:全表扫描在这里插入图片描述

六:possible_keys:可能用到的索引

七:key 该key列指示MySQL实际决定使用的索引
注意:possible_keys 为null,key可能会用到索引
在这里插入图片描述
虽然不满足联合索引的最左匹配原则,但是用到了覆盖索引,还是走了联合索引树

八:key_len 索引的长度

九:ref 该ref列显示将哪些列或常量与该key列中命名的索引进行比较,以从表中选择行

十:rows 预计需要扫描的行数,不是一个精确的值

十一:filtered 表示按表条件过滤的表行的估计百分比。最大值为100,这表示未过滤行。值从100减小表示过滤量增加。 rows显示了检查的估计行数,rows× filtered显示了与下表连接的行数。例如,如果 rows为1000且 filtered为50.00(50%),则与下表连接的行数为1000×50%= 500。

十二:extra 有关MySQL如何解析查询的其他信息
1.Using where: using where 意味着mysql服务器将在存储引擎检索行后再进行过滤。
2.Using index: 表示Mysql将使用覆盖索引,以避免回表;
3.Using index condition: 全称Using index condition pushdown ICP 索引下推
ICP:MySQL服务器将这一部分判断条件传递给存储引擎,然后由存储引擎通过判断索引是否符合MySQL服务器传递的条件,只有当索引符合条件时才会将数据检索出来返回给MySQL服务器 。
在这里插入图片描述

4.Using filesort 用到的索引不是排序字段
在这里插入图片描述

5.Using temporary 用到了临时表。如果查询包含GROUP BY和 ORDER BY子句以不同的方式列出列,通常会发生这种情况。
6.Using join buffer:关联表没有用到索引,需要连接缓冲区来存储中间结果。需要添加索引来优化

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183887.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • nhibernate的简单配置与使用

    nhibernate的简单配置与使用配置nhibernate的方式有两种,一种是通过xml文件的方式配置,还有就是通过class的方式配置。网上大多数是以xml的方式配置nhibernate,本文则已class的方式来配置,并通过IOC(依赖注入,本文以构造注入)的方式注册nhibernate。下面就以一个demo来说明配置、注入以及使用的方法。创建一个工程,在工程下添加三个项目。1、Web工程(demo采用的是MVC框架)…

    2022年7月14日
  • 谷歌浏览器与驱动下载,以及放置位置

    谷歌浏览器与驱动下载,以及放置位置谷歌浏览器稳定版本:78.0.3904.70(建议下载此版本,最新版本可能会找不到对应的驱动)谷歌浏览器驱动下载地址:(驱动不区分32还是64位)http://chromedriver.storage.proxy.ustclug.org/index.html注意:将文件谷歌浏览器驱动chromedriver.exe放到如下安装目录下:1.谷歌浏览器安装目录下:比如C:\Users\Admin…

    2022年6月3日
  • 详解linux中rsync的妙用[通俗易懂]

    详解linux中rsync的妙用[通俗易懂]????1.rsync备份服务器软件介绍:Rsync是一款开源的、快速的、多功能的、可实现全量及增长的本地或远程数据同步备份的优秀工具。增量备份:只同步变化的数据细腻些,主要利用了quickcheck算法实现同步原理:1)建立好网络连接2)先进行数据信息对比3)只将变化的数据进行增量备份2.rsync软件作用说明:(1v4cp/scp/rm/ls)本地数据备份:cp[root@backup~]#cp-a/etc/hosts/tmp/hosts_cp[root@backu

    2022年10月13日
  • vim 操作

    vim 操作

    2021年9月11日
  • 简述android触屏事件的处理_移动端touch事件有哪些

    简述android触屏事件的处理_移动端touch事件有哪些本文介绍了Android系统中触屏事件的相关知识,包括触屏事件的产生,分类,触屏事件序列,以及触屏事件在代码中的表示方式。了解这些内容,是理解Android触屏事件的分发,拦截和处理的基础。

    2022年9月10日
  • SQL Prompt快捷键

    SQL Prompt快捷键话不多说,直接上货!!!DFDELETEFROMssfSELECT*FROMbeBEGINENDijINNERJOINapALTERPROCEDUREctCREATETABLEiiINSERTINTOlojLEFTOUTERJOINobORDERBYst100SELECTTOP100*FROM

    2022年7月26日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号