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


相关推荐

  • 计算机的发展历史_计算器的由来和故事

    计算机的发展历史_计算器的由来和故事本文主要介绍计算机的发展历史。1概述计算工具的演化经历了由简单到复杂、从低级到高级的不同阶段,从“结绳记事”中的绳结到算筹、算盘、计算尺、机械计算机等,它们在不同的历史时期发挥了各自的历史作用,同时也启发了现代电子计算机的研制思想。1889年,美国科学家赫尔曼·何乐礼研制出以电力为基础的电动制表机,用以储存计算资料。1930年,美国科学家范内瓦·布什造出世界上首台模拟电子计算机。…

    2022年8月31日
    1
  • stm32中UART和USART的区别「建议收藏」

    stm32中UART和USART的区别「建议收藏」UART和USART的区别

    2022年5月19日
    34
  • 伽马校正和颜色空间

    伽马校正和颜色空间一、伽马校正所谓gamma校正,实际上是一个颜色的非线性曲线变换。下面来解释这个曲线存在的原因。1.1人眼的非线性视觉效应为什么要有gamma校正了。一言以蔽之,人眼的生理效应。如下图所示,第一行是人眼感受到的线性亮度变化,第二行是真实的非线性亮度变化。可以得出结论,首尾两端是一致的,但是中间值变化不一致;真实的中间亮度值必须更大,才能得到人眼感知的线性亮度变化。我们的目的是让人眼感受到线性的亮度变化曲线,因此输入亮度必须是第二行这种非线性的亮度变化曲线。第二行的亮度变化曲线,就是伽马校正曲线

    2022年9月24日
    2
  • Oracle中的wm_concat函数用法

    Oracle中的wm_concat函数用法 &nbsp;&nbsp;&nbsp;在日常的数据查询过程中,经常遇到一条信息分多条记录存储,并以同一个ID关联的情况,比如常见的房产证权利人信息,因为共有权人可能有很多,不可能把所有的权利人都放到权利人表的权利人字段,把所有权利人的证件号都放到权利人证件号字段,所以在数据库设计时候,会采用一个权利人一条记录,并以权利ID关联的方式存…

    2022年5月26日
    94
  • SpringBoot框架_若依框架怎么样

    SpringBoot框架_若依框架怎么样SpringBoot框架

    2022年8月20日
    8
  • 关于Js后退几种方式

    关于Js后退几种方式2019独角兽企业重金招聘Python工程师标准>>>…

    2022年7月25日
    8

发表回复

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

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