MySQL中的执行计划
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中的执行计划相关推荐
- mysql中的执行计划_MySQL中的执行计划explain详解
一.用法及定义: explain为sql的执行计划.在sql前面加上explain关键字即可 如:explain select * from tbl_emp; 名词解释: id:[操作表的顺序] 1. ...
- MySQL中的执行计划(explain)
explain关键字使用了以后,共有下述12个字段信息展示: 1.id ID列中的数据为一组数字,表示执行select语句的顺序,其取值为1.2.3...n. ID值相同时,执行顺序由上至下. ID值 ...
- MySQL中explain执行计划中额外信息字段(Extra)详解
SQL执行计划是经过优化器决策,产生的SQL在数据库内部执行的访问路径计划: 由如下语法得到: explain select col1,col2 from t1..; desc select col1 ...
- mysql事件计划自动_逐步讲解MySQL中定时事件计划的创建
一.使用过程1.查看当前是否已开启事件计划(调度器)有3种方法: SHOW VARIABLES LIKE 'event_scheduler'; SELECT @@event_scheduler; SH ...
- mysql 执行计划不对_关于mysql主从查询执行计划不一致问题的分析
最近面试过程中被面试官抛了一个问题,说曾经有一个线上出现的奇怪的问题,主库和从库各种配置是一致的,当数据量比较大的时候,某些时候同样的查询,在从库里的执行计划执行成功了,而主库里没有执行这个执行计划, ...
- 一条sql语句在mysql中如何执行的
文心阁小说本篇文章会分析下一个 sql 语句在 MySQL 中的执行流程,包括 sql 的查询在 MySQL 内部会怎么流转,sql 语句的更新是怎么完成的. 在分析之前我会先带着你看看 MySQL ...
- 一文搞懂select语句在MySQL中的执行流程!
MySQL作为互联网行业使用最多的关系型数据库之一,与其免费.开源的特性是密不可分的.然而,很多小伙伴工作了很多年,只知道使用MySQL进行CRUD操作,这也导致很多小伙伴工作多年后,想跳槽进入大厂, ...
- PostgreSQL中的执行计划
PostgreSQL中的执行计划 EXPLAN 预生成执行计划 EXPLAN sql 真实执行计划 explan analyze sql 输出详细内容 explan(analyze on, timin ...
- SQL Server中的执行计划
介绍 (Introduction) In this article, I'm going to explain what the Execution Plans in SQL Server are a ...
最新文章
- iOS底层原理 - 常驻线程
- 软件需求工程与UML建模——第九组原型系统总结
- python编写爬虫的步骤-如何编写python脚本?教你做简单的爬虫,适合初学者
- BrowserLog——使用Chrome控制台作为Log查看器
- 2019年最新银行存款利息,有的银行最高给到5.45%
- Parallel Extensions CTP第二版发布
- ubuntu java classpath 设置_在Ubuntu中正确设置java classpath和java_home
- Spring Boot Java应用代码混淆介绍
- Android系统性能优化(71)---关于Bitmap图片资源优化的小事
- 学音视频一定要掌握这几个算法
- 正则判断手机号地区_匹配中国大陆所有手机号正则表达式
- 关于ARMA模型的R语言实现
- C语言中char s[] 和 char *s的区别
- 分水岭算法和距离变换函数
- python数字分割
- Azure SQL 数据库连接字符串
- Quartz技术简介
- 完美解决Tomcat启动一闪而过
- Android studio 安卓开发常见问题(个人笔记系列)
- thinkphp使用force