关于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数据库压缩版本安装与配置详细教程
May 21 MySQL
MySQL连表查询分组去重的实现示例
Jul 01 MySQL
MySQL一些常用高级SQL语句
Jul 03 MySQL
MySQL约束超详解
Sep 04 MySQL
MySQL中datetime时间字段的四舍五入操作
Oct 05 MySQL
面试被问select......for update会锁表还是锁行
Nov 11 MySQL
MySQL利用UNION连接2个查询排序失效详解
Nov 20 MySQL
详解MySQL中timestamp和datetime时区问题导致做DTS遇到的坑
Dec 06 MySQL
解决Mysql报错 Table 'mysql.user' doesn't exist
May 06 MySQL
MySQL事务的ACID特性以及并发问题方案
Jul 15 MySQL
MySQL性能指标TPS+QPS+IOPS压测
Aug 05 MySQL
SQL中去除重复数据的几种方法汇总(窗口函数对数据去重)
May 08 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
自己动手做一个SQL解释器
2006/10/09 PHP
php $_ENV为空的原因分析
2009/06/01 PHP
Zend Framework基本页面布局分析
2016/03/19 PHP
php实现基于PDO的预处理示例
2017/03/28 PHP
javascript 图片上一张下一张链接效果代码
2010/03/12 Javascript
Javascript中的window.event.keyCode使用介绍
2011/04/26 Javascript
javascript小数四舍五入多种方法实现
2012/12/23 Javascript
关于在IE下的一个安全BUG --可用于跟踪用户的系统鼠标位置
2013/04/17 Javascript
iframe的onreadystatechange事件在firefox下的使用
2014/04/16 Javascript
jQuery 1.9移除了$.browser可以使用$.support来替代
2014/09/03 Javascript
JavaScript中document.forms[0]与getElementByName区别
2015/01/21 Javascript
JavaScript实现替换字符串中最后一个字符的方法
2017/03/07 Javascript
JavaScript闭包的简单应用
2017/09/01 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
使用canvas实现一个vue弹幕组件功能
2018/11/30 Javascript
TypeScript开发Node.js程序的方法
2019/04/30 Javascript
[55:32]2018DOTA2亚洲邀请赛 4.4 淘汰赛 EG vs LGD 第二场
2018/04/05 DOTA
Python实现基于权重的随机数2种方法
2015/04/28 Python
开始着手第一个Django项目
2015/07/15 Python
python3之微信文章爬虫实例讲解
2017/07/12 Python
Django入门使用示例
2017/12/12 Python
python在非root权限下的安装方法
2018/01/23 Python
python机器学习之KNN分类算法
2018/08/29 Python
Python使用turtle库绘制小猪佩奇(实例代码)
2020/01/16 Python
Scrapy框架基本命令与settings.py设置
2020/02/06 Python
Python3之乱码\xe6\x97\xa0\xe6\xb3\x95处理方式
2020/05/11 Python
基于Python爬取京东双十一商品价格曲线
2020/10/23 Python
python 实现批量图片识别并翻译
2020/11/02 Python
HTML5图片预览实例分享
2014/06/04 HTML / CSS
VSCode 自定义html5模板的实现
2019/12/05 HTML / CSS
梵蒂冈和罗马卡:Omnia Card Pass
2018/02/10 全球购物
香港零食网购:上仓胃子
2020/06/08 全球购物
不同浏览器创建XMLHttpRequest方法有什么不同
2014/11/17 面试题
化学教师自荐信范文
2013/12/28 职场文书
建筑工地质量标语
2014/06/12 职场文书
MySQL 使用索引扫描进行排序
2021/06/20 MySQL