5.mysql的explain的分析
执行分析:

1.id 含义:表示查询的子句或者操作表的顺序
三种情况:id 相同,执行的顺序由上到下;
id不同,id越大优先级越高,越先执行;
id相同不相同同时存在;
2.select_type;
2.1类型有哪些:

2.2各类型表示的含义:

概括:primary:表示最后执行的表;
union Result:union合并两个select 查询结果
3.table:这行数据关联的是那张表的
4.type:优化级别



概述:
system:表只有一条记录;
const:通过主键或者唯一索引
eq_ref:通过唯一索引查出一条数据;
const和eq_ref都是通过唯一索引查询一条区别是什么呢?const是通过唯一索引的常量查询;eq_ref也是通过唯一索引查询,只不过是通过唯一索引关联表确认一条记录
ref:通过非唯一索引查询多条数据
5.possible_keys:显示可能应用这张表的索引,一个或者多个,但是不一定被实际应用到。
6.key:实际中应用到的索引,为null,表示没有应用索引
7.key_len:表示使用的索引字节数,使用的越短越好。
8.ref:显示索引的哪一列被使用了,如果可能的话,如果是一个常数,那些列或者常量被用于查找索引列上的值。
9.rows:表示查询的数据结果,需要读取数据的行数。
10.extra
10.1 using filesort: 说明mysql会对数据使用一个外部索引排序,而不是按照表内的索引顺序排序

10.2 using temporary 使用了临时表保存中间结果,mysql在对查询结果排序时使用了临时表,常见排序order by 和分组group by

10.3using index

其他不常用:

5.mysql的explain的分析的更多相关文章
- MySQL 之 Explain 输出分析
MySQL 之 Explain 输出分析 背景 前面的文章写过 MySQL 的事务和锁,这篇文章我们来聊聊 MySQL 的 Explain,估计大家在工作或者面试中多多少少都会接触过这个.可能工作中 ...
- 【mysql】explain性能分析
1. explain的概念 使用EXPLAIN 关键字可以模拟优化器执行SQL 查询语句,从而知道MySQL 是如何处理你的SQL 语句的.分析你的查询语句或是表结构的性能瓶颈. 用法: Explai ...
- MySQL的explain语句分析
+----+-------------+-------+------------+------+---------------+-----+---------+------+------+------ ...
- mysql中explain优化分析
效率比较 range >index > all
- mysql优化:explain分析sql语句执行效率
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优 ...
- 【Explain】mysql之explain详解(分析索引的最佳使用)
在日常工作中,我们会有时会开慢查询去记录一些执行时间比较久的SQL语句,找出这些SQL语句并不意味着完事了,些时我们常常用到explain 这个命令来查看一个这些SQL语句的执行计划,查看该SQL语句 ...
- mysql优化----explain的列分析
sql语句优化: : sql语句的时间花在哪儿? 答: 等待时间 , 执行时间. 等待时间:看是不是被锁住了,那就不是语句层面了是服务端层面了,看连接数内存. 执行时间:到底取出多少行,一次性取出1万 ...
- mysql优化–explain分析sql语句执行效率
Explain命令在解决数据库性能上是第一推荐使用命令,大部分的性能问题可以通过此命令来简单的解决,Explain可以用来查看SQL语句的执行效 果,可以帮助选择更好的索引和优化查询语句,写出更好的优 ...
- 用 Explain 命令分析 MySQL 的 SQL 执行
在上一篇文章<MySQL常见加锁场景分析>中,我们聊到行锁是加在索引上的,但是复杂的 SQL 往往包含多个条件,涉及多个索引,找出 SQL 执行时使用了哪些索引对分析加锁场景至关重要. 比 ...
- Mysql之EXPLAIN显示using filesort
索引使用经验: 1. 一条 SQL 语句只能使用 1 个索引 (5.0-),MySQL 根据表的状态,选择一个它认为最好的索引用于优化查询 2. 联合索引,只能按从左到右的顺序依次使用 Using w ...
随机推荐
- 三:Mybatis
三.MyBatis 主流的ORM 支持java .NET Ruby三种语言,MyBatis是对JDBC的封装 ORM框架Hibernate 区别: 1)sql 优化方面 Hibernate 使用 HQ ...
- ES6的Set详解
数组去重 let arr = [ 1,2,3,4,5,3,2 ] // 数组去重 // 方法一 let newArr = [new Set(arr)] console.log(newArr); // ...
- 用于双目重建中的GPU编程:julia-cuda
作者:京东科技 李大冲 一.Julia是什么 julia是2010年开始面世的语言,作为一个10后,Julia必然有前辈们没有的特点.Julia被期望塑造成原生的有C++的运行速度.python的易交 ...
- 计算属性报错:Maximum recursive updates exceeded.
计算属性或普通函数中有对相关依赖的响应式数据进行一次以上的更新就可能导致达到最大执行的限制: const calcSurplus = computed(() => (k: string) =&g ...
- 基于Python的OpenGL 06 之摄像机
1. 引言 本文基于Python语言,描述OpenGL的摄像机 前置知识可参考: 基于Python的OpenGL 05 之坐标系统 - 当时明月在曾照彩云归 - 博客园 (cnblogs.com) 笔 ...
- sqlserver 行转列 列转行
行列互转,是一个经常遇到的需求.实现的方法,有case when方式和2005之后的内置pivot和unpivot方法来实现. 在读了技术内幕那一节后,虽说这些解决方案早就用过了,却没有系统性的认识和 ...
- Ubuntu 安装 Nginx
Ubuntu版本:20.04.1 LTS Nginx版本:1.22.0 下载地址: https://nginx.org/en/download.html 上传目录:/usr/local/src 安装目 ...
- 1055. Combinations
1055. Combinations Time limit: 1.0 secondMemory limit: 64 MB As you have known MMM corporation lab r ...
- C++基础复习题(笔试题)
C++基础~for循环:选择,判断 HELLO,亲爱的小朋友! 我们准备 35个选择题,对for循环及之前的内容进行一个简单的复习,快来看一下吧! 顺序&选择结构 1.对于C++中变量的命名规 ...
- 泛微js附件必填
function fieldViewAttr(fieldid, viewtype) { alert('11') jQuery("#field" + fieldid).attr(&q ...