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:关联表没有用到索引,需要连接缓冲区来存储中间结果。需要添加索引来优化

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • 面向对象设计要遵循哪些原则_java面向对象的概念

    面向对象设计要遵循哪些原则_java面向对象的概念我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性。应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性。而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设计原则可以有效地提高系统的复用性,同时提高系统的可维护性。面向对象设计原则和设计模式也是对系统………

    2022年10月21日
  • 自然语言处理简介(1)—- 服务梳理与传统汉语分词

    1.Nlp技术体系简介1.1基础技术1.2Nlp核心技术1.3NlP+(高端技术)2.知名NLP服务系统简介2.1汉语分词系统ICTCLAS2.2哈工大语言云(LanguageTechnologyPlatform,LTP)2.3AmazonComprehend2.4阿里云NLP2.5腾讯云NLP2.6百度语言处理基础技术2.6.1功能丰富且…

  • MySQL数据库管理工具_Mysql数据库

    MySQL数据库管理工具_Mysql数据库官方社区版免费工具MySQLWorkbenchMySql官方社区版下载:MySQLCommunityDownloadsMySQLYumRepository MySQLAPTRepository MySQLSUSERepository MySQLCommunityServer MySQLCluster MySQLRouter MySQLShell MySQLWorkbench MySQLInstallerforWind…

  • oracle universal installer安装_oracle重装

    oracle universal installer安装_oracle重装1、usr/sbin/useradd-m-goinstall-Gdbaoracle什么意思?? 创建了一个新的UNIX/LINUX用户,-m表示如果已经有这个用户不报错,-g是组,-G是其他组,最后是用户名m表示为用户oracle新建一个家目录-g表示为用户指定一个主group-G表示为用户指定一个group这样oracle既属于oinstall组也

  • 一致性哈希算法 虚拟节点(比一致性哈希还好的算法)

    采用固定哈希算法平衡负载在大规模的缓存应用中,应运而生了分布式缓存系统。key-value如何均匀的分散到集群中?最常规的方式莫过于hash取模的方式。比如集群中可用机器适量为N,那么key值为K的的数据请求很简单的应该路由到hash(K)modN对应的机器。但是在一些高速发展的web系统中,这样的解决方案仍有些缺陷。随着系统访问压力的增长,缓存系统不得不通过增加机器节点的方式提高集群的相应速…

  • pytest的assert_assert中文

    pytest的assert_assert中文前言断言是写自动化测试基本最重要的一步,一个用例没有断言,就失去了自动化测试的意义了。什么是断言呢?简单来讲就是实际结果和期望结果去对比,符合预期那就测试pass,不符合预期那就测试failed

发表回复

您的电子邮箱地址不会被公开。

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