| |
|
开发:
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执行结果各个字段的意思 |
1.Explain执行计划——SQL优化神器 ??????? 用法:
?????? 运行结果: ? ?通过在SQL语句前面加上explain关键字,执行后并不会真正的执行sql语句本身,而是通过explain 工具来分析当前这条SQL语句的性能细节:比如是什么样的查询类型、可能用到的索引及实际用到 的索引,和一些额外的信息。 2.各字段的解释(重要字段) ?? 1)select_type列
第一条执行的sql是from后面的子查询,该子查询只要在from后面,就会生成一张衍生表,因此他的查询类型:derived
在select之后 from之前的子查询
最外部的select
不包含子查询的简单的查询
使用union进行的联合查询的类型 ??? 2)table列 ?? 当前查询正在查哪张表 ??? 3)type列 type列可以直观的判断出当前的sql语句的性能。type里的取值和性能的优劣顺序如下: ????????null > system > const > eq_ref > ref > range > index > all 对于SQL优化来说,要尽量保证type列的值是属于range及以上级别。 ?? 4)id列 在多个select中,id越大越先执行,如果id相同。上面的先执行。 ?? 5)possible keys列 这一次的查询可能会用到的索引。也就是说mysql内部优化器会进行判断,如果这一次查询走索引的性能比全表扫描的性能要查,那么内部优化器就让此次查询进行全表扫描——这样的判断依据我们可以通过trace工具来查看 ?? 6)key列 实际该sql语句使用的索引 ?? 7)rows列 该sql语句可能要查询的数据条数 ?? 8)key_len列 ??????? 计算规则:???????
?? 9)ref列 显示该表的索引字段关联了哪张表的哪个字段 ?? 10)extra列 extra列提供了额外的信息,是能够帮助我们判断当前sql的是否使用了覆盖索引、文件排序、使用了索引进行查询条件等等的信息。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 9:58:19- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |