explain工具优化mysql需要达到什么级别?

explain工具优化mysql需要达到什么级别?

  • 一、explain工具是什么?
  • 二、explain查询后各字段的含义
  • 三、explain查询后type字段有哪些类型?
  • 四、type类型需要优化到哪个阶段?

一、explain工具是什么?

explain是什么?使用EXPLAIN关键字可以模拟优化器执行SQL查询语句,从而知道MySQL是如何处理你的SQL语句的。分析你的查询语句或是表结构的性能瓶颈。
explain的使用方法非常的简单,explain+sql就可以了。下面我们来简单的执行一条

mysql> explain select * from student where id=1000;
+----+-------------+---------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
| id | select_type | table   | partitions | type  | possible_keys | key     | key_len | ref   | rows | filtered | Extra |
+----+-------------+---------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
|  1 | SIMPLE      | student | NULL       | const | PRIMARY       | PRIMARY | 4       | const |    1 |   100.00 | NULL  |
+----+-------------+---------+------------+-------+---------------+---------+---------+-------+------+----------+-------+
1 row in set, 1 warning (0.04 sec)

二、explain查询后各字段的含义

  • id:在一个大的查询语句中每个SELECT关键字都对应一个 唯一的id
  • select_type:SELECT关键字对应的那个查询的类型
  • table :表名
  • partitions :匹配的分区信息
  • type :针对单表的访问方法
  • possible_keys: 可能用到的索引
  • key :实际上使用的索引
  • key_len: 实际使用到的索引长度
  • ref :当使用索引列等值查询时,与索引列进行等值匹配的对象信息
  • rows: 预估的需要读取的记录条数
  • filtered:某个表经过搜索条件过滤后剩余记录条数的百分比
  • Extra: 一些额外的信息

三、explain查询后type字段有哪些类型?

在这里插入图片描述

  • all :表中没有任何索引,每次查询需要全表扫描
  • index :表中有主键索引,扫描全表索引,每次查询需要全表扫描索引文件,通常比all快一些,但也很慢,需优化。
  • range :范围查询,例如select * from student where id >10; < > between
  • const:通过索引一次就可以找到,例如:select * from student where id =10;
  • ref:指的是这个非唯一键索引扫描,例如我们给student表的name字段加个普通索引,有
select * from student where name = '张三';
  • eq_ref:这个主要用于多表查询。其含义主要是唯一索引扫描对于每个索引列表中只有一条记录与之匹配。常用于主键或者唯一索引扫描,这可能是const之外最好的链接类型了,简单的select查询不会出现这种type。
    这个第二个出现这个eq_ref,其实这个也比较好理解。eq_ref - 想象你有两张桌子。表A包含列(id,text),其中id是主键。表B具有相同的列(id,text),其中id是主键。表A包含以下数据:
1, Hello 
2, How are

表B有以下数据:

1, world!
2, you?

想象一下eq_ref为A和B之间的JOIN:

select A.text, B.text where A.ID = B.ID

这个JOIN非常快,因为对于表A中扫描的每一行,表B中只能有一行满足JOIN条件。一个,不超过一个。那是因为B.id是独一无二的。

四、type类型需要优化到哪个阶段?

至少是需要优化到range级别的,这里我们可以参考阿里巴巴开发手册的推荐:
在这里插入图片描述
如果我们的type是all或者index级别均是需要优化的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/345758.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

未来已来:AI引领智能时代的多领域巨变

大家好&#xff0c;今天我们将深入探讨人工智能如何彻底改变我们的生活方式&#xff0c;领略未来的无限可能性。 1. 医疗革新&#xff1a;AI担任超级医生 医疗领域是AI最引人注目的战场之一。智能医学影像诊断系统&#xff0c;不仅能够精准识别病变&#xff0c;还能辅助医生提…

Springboot+vue的科研工作量管理系统的设计与实现(有报告),Javaee项目,springboot vue前后端分离项目

演示视频&#xff1a; Springbootvue的科研工作量管理系统的设计与实现&#xff08;有报告&#xff09;&#xff0c;Javaee项目&#xff0c;springboot vue前后端分离项目 项目介绍&#xff1a; 本文设计了一个基于Springbootvue的前后端分离的科研工作量管理系统的设计与实现…

浅谈大数据智能化技术在多个领域的应用实践

摘要 大数据智能化技术在当今信息社会中得到了广泛的应用。从金融、互联网电商、视频行业到垂直短视频领域&#xff0c;从工业互联网到云计算、边缘计算等领域&#xff0c;大数据智能化技术已经成为了企业竞争力的重要组成部分。技术实践、架构设计、指标体系、数据质量、数据分…

历经15年,比特币以强势姿态进军华尔街!270亿美元投资狂潮引发市场震荡!

本月&#xff0c;比特币庆祝了它的15岁生日&#xff0c;并以强势的姿态进军华尔街。最近美国交易所开始交易的比特币交易所交易基金&#xff08;ETF&#xff09;&#xff0c;已经获得了投资者的广泛接受。这一进展标志着比特币作为一种年轻资产迈向成熟的重要里程碑。 根据Glas…

损失函数是指什么

损失函数&#xff08;Loss Function&#xff09;是用来衡量模型预测输出与实际目标之间差异的函数。在机器学习和深度学习中&#xff0c;损失函数是模型训练的关键部分。其目标是通过最小化损失函数来使模型的预测尽可能接近实际的标签或目标值。 在监督学习中&#xff0c;模型…

JavaEE-SSM-订单管理-前端增删改功能实现

3.5 功能2&#xff1a;添加 从列表页面切换到添加页面 编写对应添加页面的路由 * {path: /orderAdd,name: 添加订单,component: () > import(../views/OrderAdd.vue)}编写添加功能 <template><div><table border"1"><tr><td>编…

mysql临时表简述

概述 业务中经常会对一些表进行聚合组装信息&#xff0c;然后筛选&#xff0c;有些表比较数据量大的时候&#xff0c;会对拖慢查询&#xff1b; 常用的mybatis的分页查询&#xff0c;在查询时会先count一下所有数据&#xff0c;然后再limit分页&#xff0c;即使分页也会有深度…

数美滑块协议解析2024/01/24

文章目录 网址分析请求定位代码看算法扣代码传参和轨迹暗坑网址 aHR0cHM6Ly93d3cuaXNodW1laS5jb20vbmV3L3Byb2R1Y3QvdHcvY29kZQ==分析请求 我比较简单,我直接过一下滑块然后看一下请求栈,是一堆混淆后的代码,直接全部拿下来,简单做一下解混淆,方便自己看,不会解混淆的也…

.kann勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复

导言&#xff1a; 随着网络犯罪日益猖獗&#xff0c;恶意软件攻击也呈现多样化趋势。.kann勒索病毒是一种采用高级加密技术的勒索软件&#xff0c;它能够使用户的个人文件和企业数据变得无法访问。本文91数据恢复将介绍.kann勒索病毒的特点、数据恢复方法以及预防策略。如果您…

Onvif协议1:gSOAP是什么

目录 1.简介 2. Web Services 2.1 Web Services常用的几种框架 3. SOAP简介 3.1如此理解SOAP 4. WSDL文档 5. gsoap编译 5.1 gSOAP工具转换原理 1.简介 gSOAP工具基于编译器技术为C/C提供自动的SOAP和XML数据绑定。该工具使用自动生成代码以及先进的映射方法&#xff…

springboot118共享汽车管理系统

简介 【毕设源码推荐 javaweb 项目】基于springbootvue 的共享汽车管理系统 适用于计算机类毕业设计&#xff0c;课程设计参考与学习用途。仅供学习参考&#xff0c; 不得用于商业或者非法用途&#xff0c;否则&#xff0c;一切后果请用户自负。 看运行截图看 第五章 第四章 获…

如何在Linux上部署Docker容器

一、什么是docker&#xff1f; Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows 机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不…

Vue+Element(el-upload+el-form的使用)+springboot

目录 1、编写模板 2、发请求调接口 3、后端返回数据 1.编写实体类 2.Controller类 3、interface接口&#xff08;Service层接口&#xff09; 4.Service&#xff08;接口实现&#xff09; 5、interface接口&#xff08;Mapper层接口&#xff09; 6、xml 4、upload相关参…

别不信❗️你离数据专家只差一个CDMP证书

1⃣️为什么选择CDMP证书&#xff1f; &#x1f31f;&#x1f31f;亲爱的朋友们&#xff0c;如果你在寻找一个能让你在数据管理领域大展拳脚的证书&#xff0c;那么CDMP&#xff08;Certified Data Management Professional&#xff09;证书就是你的不二之选&#xff01;&#…

【数据结构】链表的分类和双向链表

本篇是基于上篇单链表所作&#xff0c;推荐与上篇配合阅读&#xff0c;效果更加 http://t.csdnimg.cn/UhXEj 1.链表的分类 链表的结构非常多样&#xff0c;以下情况组合起来就有8种&#xff08;2 x 2 x 2&#xff09;链表结构&#xff1a; 我们一般叫这个头为哨兵位 我们上回…

树,二叉树及其相关知识

1.树概念及结构 1.1树的概念 树是一种非线性的数据结构&#xff0c;它是由n&#xff08;n>0&#xff09;个有限结点组成一个具有层次关系的集合。把它叫做树是因 为它看起来像一棵倒挂的树&#xff0c;也就是说它是根朝上&#xff0c;而叶朝下的。 有一个特殊的结点&#…

搭建《幻兽帕鲁》服务器需要怎样配置的云服务器?

随着《幻兽帕鲁》这款游戏的日益流行&#xff0c;越来越多的玩家希望能够在自己的服务器上体验这款游戏。然而&#xff0c;搭建一个稳定、高效的游戏服务器需要仔细的规划和配置。本文将分享搭建《幻兽帕鲁》服务器所需的配置及搭建步骤&#xff0c;助力大家获得更加畅快的游戏…

【教学类-综合练习-09】20240105 大4班 综合材料(美术类:骰子、面具、AB手环)

背景需求 年终了&#xff0c;清理库存&#xff0c;各种打印的题型纸都拿出来&#xff0c;当个别化学习材料 教学过程&#xff1a; 时间&#xff1a;2024年1月2日下午 班级&#xff1a;大4班 人数&#xff1a;16人

微博处罚造谣账号只是”罚酒三杯“?

1月11日&#xff0c;一则#近视眼从800度降到100度的过程#话题登上微博热搜榜第一位。有博主称通过“视觉恢复的闪现技巧”可逐渐恢复视力。在9个小时时间内&#xff0c;该话题达到2.4亿阅读量&#xff0c;6.2万讨论量。 不过&#xff0c;遗憾的是&#xff0c;相关内容实际上是伪…

np.bincount函数的用法

官网写的非常清晰了&#xff0c; 返回数组的数量比x中的最大值大1&#xff0c;它给出了每个索引值在x中出现的次数。下面&#xff0c;我举个例子让大家更好的理解一下&#xff1a; np.bincount(np.array([0, 1, 1, 3, 2, 1, 7])) array([1, 3, 1, 1, 0, 0, 0, 1])最大值是7&a…