前言
在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
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- 如何在 Java 中创建日期对象?(怎么在Java中创建日期对象)
- Java 包名命名规则具体有哪些呢?(java包名命名规则有哪些)
- PHP数据类型转换对性能的影响
- Java 中的 StringBuffer 究竟有哪些作用呢?(Java的StringBuffer有什么作用)
- PHP数据类型转换:关键要点与实用技巧
- 如何有效处理 Java 中的毫秒时间戳溢出问题?(如何处理java中毫秒时间戳溢出问题)
- 如何在 Java 中高效地遍历列表?(如何遍历Java中的列表)
- JAVA poi 中如何实现导出合并相同行的功能?(JAVA poi导出合并相同行的方法是什么)
- PHP数据类型转换技巧大全
- Java 串口通信怎样实现数据压缩?(Java串口通信如何实现数据压缩)
猜你喜欢
AI推送时光机MySQL中通过EXPLAIN如何分析SQL的执行计划详解
数据库2024-04-02
如何通过explain和dbms_xplan包分析执行计划
数据库2024-04-02
如何使用SQL Server的执行计划分析慢查询
数据库2024-06-03
分析mysql中一条SQL查询语句是如何执行的
数据库2022-05-30
如何理解MySQL执行计划中的各个参数及含义
数据库2024-04-02
图文详解Mysql中如何查看Sql语句的执行时间
数据库2024-04-02
咦!没有更多了?去看看其它编程学习网 内容吧