关于MySQL中explain工具的使用


Posted in MySQL onMay 08, 2023

EXPLAIN 是 MySQL 提供的一种工具,用于分析查询语句的执行计划,即查询优化器是如何决定执行查询语句的。EXPLAIN可以帮助我们分析查询语句的性能瓶颈,找出问题所在,进而优化查询语句和数据库结构。

使用EXPLAIN非常简单,只需要在查询语句前面加上EXPLAIN关键字即可,如下所示:

explain select * from articles where url='csdn.com'

输出结果如下:(图片太长,这里切分成 2 张,实际上是一张)

关于MySQL中explain工具的使用

关于MySQL中explain工具的使用

输出结果详解:

  1. id:既是查询的标识符,表示查询中每个操作的唯一标识;也是执行查询的顺序,越大优先级越高。
  2. select_type:查询类型,表示查询的类型,如简单查询、联合查询、子查询等等。
  3. table:查询涉及的表名。
  4. partitions:查询涉及的分区名。
  5. type:访问类型,表示MySQL在表中查找所需行的方式,常用的有ALL、index、range、ref、eq_ref、const等等。
  6. possible_keys:可能使用的索引,表示查询语句中可能会使用到的索引。
  7. key:实际使用的索引,可以查看本次查询是否用到了索引。
  8. key_len:索引使用的字节数。
  9. ref:列与索引的比较条件。
  10. rows:扫描的行数,表示MySQL执行查询语句时需要扫描的行数,这个值越小越好。
  11. filtered:返回结果集的行数占扫描行数的百分比,值范围在0~100之间。
  12. Extra:包含MySQL在执行查询时的一些额外信息,如使用临时表、排序方式等等。

通过分析EXPLAIN的输出结果,我们可以确定查询语句的执行计划、执行效率和可能存在的问题,从而进行优化。

到此这篇关于关于MySQL中explain工具的使用的文章就介绍到这了,更多相关MySQLexplain工具内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

MySQL 相关文章推荐
MySQL基础(二)
Apr 05 MySQL
多表查询、事务、DCL
Apr 05 MySQL
MySQL通过binlog恢复数据
May 27 MySQL
MYSQL(电话号码,身份证)数据脱敏的实现
May 28 MySQL
Mysql中调试存储过程最简单的方法
Jun 30 MySQL
MySQL系列之九 mysql查询缓存及索引
Jul 02 MySQL
一篇文章看懂MySQL主从复制与读写分离
Nov 07 MySQL
SQL基础的查询语句
Nov 11 MySQL
MySQL分区表管理命令汇总
Mar 21 MySQL
详细介绍MySQL中limit和offset的用法
May 06 MySQL
MySQL中的全表扫描和索引树扫描
May 15 MySQL
Mysql中@和@@符号的详细使用指南
Jun 05 MySQL
postgresql如何找到表中重复数据的行并删除
May 08 #MySQL
SQL Server数据库的三种创建方法汇总
May 08 #MySQL
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
May 08 #MySQL
MySQL中TIMESTAMP类型返回日期时间数据中带有T的解决
Dec 24 #MySQL
MySQL实现用逗号进行拼接、以逗号进行分割
Dec 24 #MySQL
MySQL数据管理操作示例讲解
Dec 24 #MySQL
MySQL深分页问题解决思路
Dec 24 #MySQL
You might like
随时给自己贴的图片加文字的php代码
2007/03/08 PHP
php学习笔记 数组遍历实现代码
2011/06/09 PHP
基于PHP实现的事件机制实例分析
2015/06/18 PHP
PHP实现的oracle分页函数实例
2016/01/25 PHP
php中关于长度计算容易混淆的问题分析
2016/05/27 PHP
js parentElement和offsetParent之间的区别
2010/03/23 Javascript
JS无法捕获滚动条上的mouse up事件的原因猜想
2012/03/21 Javascript
javascript动态加载二
2012/08/22 Javascript
js绑定事件this指向发生改变的问题解决方法
2013/04/23 Javascript
JQuery的Ajax跨域请求原理概述及实例
2013/04/26 Javascript
jquery滚动加载数据的方法
2015/03/09 Javascript
AngularJS 使用$sce控制代码安全检查
2016/01/05 Javascript
BootStrap智能表单demo示例详解
2016/06/13 Javascript
vue.js入门教程之基础语法小结
2016/09/01 Javascript
js拼接html字符串的注意事项
2016/10/13 Javascript
详解Angular的双向数据绑定(MV-VM)
2016/12/26 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
基于Vue渲染与插件的加载顺序的问题详解
2018/03/05 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
详解element上传组件before-remove钩子问题解决
2020/04/08 Javascript
一篇文章带你搞懂Vue虚拟Dom与diff算法
2020/08/25 Javascript
探索Python3.4中新引入的asyncio模块
2015/04/08 Python
学习python之编写简单简单连接数据库并执行查询操作
2016/02/27 Python
Python中xrange与yield的用法实例分析
2017/12/26 Python
Python应用库大全总结
2018/05/30 Python
Python如何使用k-means方法将列表中相似的句子归类
2019/08/08 Python
pytorch逐元素比较tensor大小实例
2020/01/03 Python
Python偏函数实现原理及应用
2020/11/20 Python
使用Python通过oBIX协议访问Niagara数据的示例
2020/12/04 Python
HTML5 canvas基本绘图之图形变换
2016/06/27 HTML / CSS
意大利体育用品网上商城:Nencini Sport
2016/08/18 全球购物
写自荐信要注意什么
2013/12/26 职场文书
执行力心得体会
2013/12/31 职场文书
2015年学生会部门工作总结
2015/04/21 职场文书
golang的文件创建及读写操作
2022/04/14 Golang
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android