MySQL中的执行计划

在MySQL中可以通过explain关键字模拟优化器执行SQL语句,从而知道MySQL是如何处理SQL语句的;


一、Mysql整个查询执行过程


客户端向MySQL服务器发送一条查询条件;

服务器首先检查查询缓冲,如果命中缓存,则立刻返回存储在缓存中的结果。否则进入下一阶段;

服务器进行SQL解析、预处理、再由优化器生成对应的执行计划;

MySQL根据执行计划,调用存储引擎的API来执行查询;

讲结果返回给客户端,同时缓存查询结果;


二、如何启动执行计划


Explain select 投影列 from 表名 where 条件


三、Explain列分类


ID

select_type

Table

Type

Possible_keys

Key

Key_len

Ref

Rows

Fitered

Extra


四、ID


查询执行顺序;

Id值相同时表示从上向下执行;

Id值相同被视为一组;

如果是子查询,id值会递增,id值越高,优先级越高;


五、Select_type


每一步执行怎样的查询;


六、Table


显示这一行的数据是关于哪张表的;


七、partitions


数据来源;


八、Type


最重要的列,显示连接使用了何种类型。从最好到最坏的连接类型为system、const、 eq_reg、ref、range、index和all;


九、Possible_keys


查询条件字段涉及到的索引,可能没有使用;


十、Key


实际使用的索引。如果为null,则没有使用索引;


十一、Key_len


表示索引中使用的字节数,查询中使用的索引的长度(最大可能长度),并非实际 使用长度,理论上长度越短越好。Key_len是根据表定义计算而得出的,不是通过 表内检索出的;


十二、Ref


显示索引的哪一列被使用了,如果可能的话,是一个常量const;


十三、Rows


根据表统计信息及索引选用情况,大致估算出找所需的记录所需要读取的行数;


十四、Fitered


显示了通过条件过滤出的行数的百分比估计值;


十五、Extra


MySQL如何解析查询的额外信息;

MySQL中的执行计划相关推荐

  1. mysql中的执行计划_MySQL中的执行计划explain详解

    一.用法及定义: explain为sql的执行计划.在sql前面加上explain关键字即可 如:explain select * from tbl_emp; 名词解释: id:[操作表的顺序] 1. ...

  2. MySQL中的执行计划(explain)

    explain关键字使用了以后,共有下述12个字段信息展示: 1.id ID列中的数据为一组数字,表示执行select语句的顺序,其取值为1.2.3...n. ID值相同时,执行顺序由上至下. ID值 ...

  3. MySQL中explain执行计划中额外信息字段(Extra)详解

    SQL执行计划是经过优化器决策,产生的SQL在数据库内部执行的访问路径计划: 由如下语法得到: explain select col1,col2 from t1..; desc select col1 ...

  4. mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建

    一.使用过程1.查看当前是否已开启事件计划(调度器)有3种方法: SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SH ...

  5. mysql 执行计划不对_关于mysql主从查询执行计划不一致问题的分析

    最近面试过程中被面试官抛了一个问题,说曾经有一个线上出现的奇怪的问题,主库和从库各种配置是一致的,当数据量比较大的时候,某些时候同样的查询,在从库里的执行计划执行成功了,而主库里没有执行这个执行计划, ...

  6. 一条sql语句在mysql中如何执行的

    文心阁小说本篇文章会分析下一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的. 在分析之前我会先带着你看看 MySQL ...

  7. 一文搞懂select语句在MySQL中的执行流程!

    MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多年后,想跳槽进入大厂, ...

  8. PostgreSQL中的执行计划

    PostgreSQL中的执行计划 EXPLAN 预生成执行计划 EXPLAN sql 真实执行计划 explan analyze sql 输出详细内容 explan(analyze on, timin ...

  9. SQL Server中的执行计划

    介绍 (Introduction) In this article, I'm going to explain what the Execution Plans in SQL Server are a ...

最新文章

  1. iOS底层原理 - 常驻线程
  2. 软件需求工程与UML建模——第九组原型系统总结
  3. python编写爬虫的步骤-如何编写python脚本?教你做简单的爬虫,适合初学者
  4. BrowserLog——使用Chrome控制台作为Log查看器
  5. 2019年最新银行存款利息,有的银行最高给到5.45%
  6. Parallel Extensions CTP第二版发布
  7. ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home
  8. Spring Boot Java应用代码混淆介绍
  9. Android系统性能优化(71)---关于Bitmap图片资源优化的小事
  10. 学音视频一定要掌握这几个算法
  11. 正则判断手机号地区_匹配中国大陆所有手机号正则表达式
  12. 关于ARMA模型的R语言实现
  13. C语言中char s[] 和 char *s的区别
  14. 分水岭算法和距离变换函数
  15. python数字分割
  16. Azure SQL 数据库连接字符串
  17. Quartz技术简介
  18. 完美解决Tomcat启动一闪而过
  19. Android studio 安卓开发常见问题(个人笔记系列)
  20. thinkphp使用force

热门文章

  1. 51Nod --1133 不重叠的线段
  2. SRM596 DIV2 1000
  3. 【c++手记】句柄类智能指针
  4. sqlserver 穷举 排列 组合
  5. 关于TransactionScope分布式事务在Oracle下的运作
  6. 如何通过Keil将程序正确的下载进flash中
  7. 蓝牙L2CAP剖析(二)
  8. C++ Primer 5th笔记(chap 15 OOP)继承中的类作用域
  9. MIMIC 以太坊医疗项目开发(2) 前端H5介绍
  10. 4.1 Qt绘图原理