MySQL中通过EXPLAIN如何分析SQL的执行计划详解
短信预约 -IT技能 免费直播动态提醒
前言
在MySQL中,我们可以通过EXPLAIN命令获取MySQL如何执行SELECT语句的信息,包括在SELECT语句执行过程中表如何连接和连接的顺序。
下面分别对EXPLAIN命令结果的每一列进行说明:
.select_type:表示SELECT的类型,常见的取值有:
类型 | 说明 |
---|---|
SIMPLE | 简单表,不使用表连接或子查询 |
PRIMARY | 主查询,即外层的查询 |
UNION | UNION中的第二个或者后面的查询语句 |
SUBQUERY | 子查询中的第一个 |
.table:输出结果集的表(表别名)
.type:表示MySQL在表中找到所需行的方式,或者叫访问类型。常见访问类型如下,从上到下,性能由差到最好:
ALL | 全表扫描 |
---|---|
index | 索引全扫描 |
range | 索引范围扫描 |
ref | 非唯一索引扫描 |
eq_ref | 唯一索引扫描 |
const,system | 单表最多有一个匹配行 |
NULL | 不用扫描表或索引 |
1、type=ALL,全表扫描,MySQL遍历全表来找到匹配行
一般是没有where条件或者where条件没有使用索引的查询语句
EXPLAIN SELECT * FROM customer WHERE active=0;
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
MySQL中通过EXPLAIN如何分析SQL的执行计划详解
下载Word文档到电脑,方便收藏和打印~
下载Word文档
相关文章
- 在 Java 创建对象时,如何给属性赋值?(java在创建对象时怎么给属性赋值)
- 提升Ruby代码安全性的实用策略
- Netty Java框架在云服务领域有着怎样的应用前景?(Netty Java框架在云服务中的应用前景)
- 如何进行 javascript 事件判断?(javascript事件判断的方法是什么)
- 如何在 JavaScript 异步编程中确保数据一致性?(JavaScript异步编程怎样确保数据一致性)
- Java内部类在实际开发中究竟有哪些应用场景呢?(Java内部类在实际开发中的应用场景有哪些)
- 如何使用 JavaScript 的 json.stringify()?(JavaScript的json.stringify()怎么使用)
- Java 中 indexOf 函数有哪些使用限制呢?(Java的indexof函数有哪些使用限制)
- 揭秘Ruby代码安全:常见问题与解决方案
- 如何理解 JavaScript 事件循环处理错误的机制?(JavaScript 事件循环怎样处理错误)
猜你喜欢
2024-04-02
MySQL EXPLAIN执行计划,如何分析?
本文,我们详细地分析了EXPLAIN,它是 MySQL 中用于显示 SQL 查询执行计划的关键字。
2024-04-02
如何使用SQL Server的执行计划分析慢查询
要使用SQL Server的执行计划来分析慢查询,可以按照以下步骤操作:打开SQL Server Management Studio并连接到您的数据库服务器。在查询窗口中输入您想要分析的慢查询,并执行该查询。在查询结果窗口下方的“查询执行计
2024-06-03
分析mysql中一条SQL查询语句是如何执行的
目录一、MySQL 逻辑架构概览二、连接器(Connector)三、查询缓存(Query Cache)四、解析器(Parser)五、优化器(Optimizer)六、执行器七、小结一、MySQL 逻辑架构概览
MySQL 最重要、最与众不同的
2022-05-30
2024-04-02
2024-04-02