| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> MySQL执行计划explain -> 正文阅读 |
|
[大数据]MySQL执行计划explain |
文章目录MySQL explain介绍MySQL提供了一个explain命令,可以用于对select语句的执行计划进行分析,并详细的输出分析结果。 通过explain命令,可以深入了解到MySQL的优化器,还可以获得很多被优化器考虑到的访问策略的细节以及运行sql语句时哪种策略预计会被优化器采用。 MySQL explain参数1. idselect的序列号列,表示查询中操作表的顺序。
MySQL将select 查询分为简单查询和复杂查询。复杂查询分为三类:简单子查询、派生表(from语句中的子查询)、union 查询。
2. select_type查询类型。主要用于区别普通查询、联合查询(union、union all)、子查询等复杂查询。 select_type取值范围:
3. table查询的表名。
4. partitions查询将匹配记录的分区。 对于非分区表,该值为 NULL。 5. type查询所使用的访问类型。表示MySQL如何查找表中的行。 type值的从优到差顺序为:system > const > eq_ref > ref > fulltext > ref_or_null > index_merge > unique_subquery > index_subquery > range > index > ALL type的值分析
6. possible_keys可能使用的索引。 7. key实际使用的索引。
8. key_len索引里使用的字节数。 当索引为组合索引时,通过这个值可以算出具体使用了索引中的哪些列。 例如:组合索引index_column1_column2,其中column1和column2都为bigint(8个字节)
MySQL数据类型的字节长度
9. ref关联的字段。如果是连接查询,则会显示关联的字段。
10. rows执行计划估算的扫描行数,不一定是精确值。(innodb不是精确值,myisam是精确值,主要是因为innodb使用了mvcc)。 11. filtered存储引擎返回的数据在server层过滤后,剩下的满足的记录数量的占比(百分比)。 12. Extra不适合在其他列中显示但十分重要的额外信息。常见的值有:Using index、Using temporary、Using filesort、Using where、Using where、Using join buffer、impossible where、select tables optimized away、distinct
MySQL 查询的执行流程可参考文章:MySQL查询的执行流程 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年5日历 | -2025/5/11 2:26:29- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |