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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 2022保密教育线上培训考试题答案_最新保密法考试题及答案

    2022保密教育线上培训考试题答案_最新保密法考试题及答案卷4单选题1.下列关于涉密计算机使用的说法正确的是()。正确答案:D.涉密计算机及时安装和升级专业“木马”查杀工具2.涉密打印机与涉密计算机之间()。正确答案:D.不能采用无线连接方式3.下列说法正确的是()。正确答案:D.淘汰、报废涉密计算机时应将涉密计算机经过专业消磁处理4.定密责任人在职责范围内承担有关国家秘密()工作。正确答案:D.以上都正确5.涉密人员是指在()、涉及国家秘密的单位涉密岗位工作的人员。正确答案:D.以上都正确6.下列关于预防和查杀“木马

    2022年10月1日
    6
  • i386和i686的具体定义

    i386和i686的具体定义转自:http://hi.baidu.com/adongwang/blog/item/a4f89c3e5654ad0bbaa167b2.htmli386和i686    现在所有的intel32位体系(包括AMD等兼容CPU)都叫i386体系,包括P4。、i686仍然属于i386体系,不过对CPU(相对于386)的特性作了指令优化。GNU/Linux分为alpha、PowerP

    2022年6月1日
    37
  • OpenWrt配置阿里云动态域名服务DDNS

    OpenWrt配置阿里云动态域名服务DDNSOpenWrt配置阿里云动态域名服务DDNSOpenWrt配置阿里云动态域名服务DDNS创建AccessKey添加权限创建A记录设置OpenWrtDDNS验证OpenWrt配置阿里云动态域名服务DDNSDDNS(DynamicDomainNameServer,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务器程序负责提供DNS服务并实现动态域名解析。创建Acce

    2022年4月30日
    894
  • java编译过程_Java编译运行过程

    java编译过程_Java编译运行过程Java编译运行过程在上一篇文章中,我们了解了第一个Java入门程序,以及如何编译和运行第一个Java程序。本文主要了解以下编译和运行Java程序时会发生什么。此外,我们还会分析一些常见的问题。1Java程序编译过程在编译时,Java文件由Java编译器(它不与底层操作系统交互)将Java代码转换为字节码(.class)。2Java程序运行过程在Java程序运行中,会执行以下步骤:类加载器(C…

    2022年4月30日
    40
  • el表达式的内置对象_IF嵌套函数

    el表达式的内置对象_IF嵌套函数1.模拟需求:从一个商品集合中取出所有商品,第一个商品用它的第一张图片,第二个商品用它的第二张图片2.起初按照通用思路,在c:forEach中定义一个varStatus,再通过vaStatus获取下标,结果写成了el表达式嵌套(如下),结果根本出不来 3.通过查资料发现,el表达式是不能直接写$进行嵌套的,如果要嵌套使用,需要省略掉嵌套里面的${}符号,如下就可以。

    2022年7月28日
    12
  • netty 释放bytebuf_python高性能框架

    netty 释放bytebuf_python高性能框架目录一、ByteBuf介绍二、分配方式堆缓冲区直接缓冲区ByteBufAllocatorUnpooled缓冲区三、ByteBuf的操作可丢弃字节可读字节可写字节索引管理查找操作派生缓冲区引用计数工具类资源释放一、ByteBuf介绍网络数据的基本单位总是字节。JavaNIO提供了ByteBuffer作为它的字节容器…

    2022年9月19日
    1

发表回复

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

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