关于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 相关文章推荐
MySQL5.7并行复制原理及实现
Jun 03 MySQL
解决mysql的int型主键自增问题
Jul 15 MySQL
MySQL定时备份数据库(全库备份)的实现
Sep 25 MySQL
mysql事务隔离级别详情
Oct 24 MySQL
SQL基础的查询语句
Nov 11 MySQL
MySQL学习之基础命令实操总结
Mar 19 MySQL
navicat 连接Ubuntu虚拟机的mysql的操作方法
Apr 02 MySQL
MySQL库表太大怎么办? 数据库分库分表项目实践
Apr 11 MySQL
Mysql 一主多从的部署
May 20 MySQL
MySQL 语句执行顺序举例解析
Jun 05 MySQL
前端传参数进行Mybatis调用mysql存储过程执行返回值详解
Aug 14 MySQL
详解MySQL的内连接和外连接
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
php生成静态页面并实现预览功能
2019/06/27 PHP
解决laravel5中auth用户登录其他页面获取不到登录信息的问题
2019/10/08 PHP
OfflineSave离线保存代码再次发布使用说明
2007/05/23 Javascript
地址栏上的一段语句,改变页面的风格。(教程)
2008/04/02 Javascript
走出JavaScript初学困境—js初学
2008/12/29 Javascript
Javascript 变量作用域 两个可能会被忽略的小特性
2010/03/23 Javascript
js网页右下角提示框实例
2014/10/14 Javascript
分析了一下JQuery中的extend方法实现原理
2015/02/27 Javascript
JS实现在状态栏显示打字效果完整实例
2015/11/02 Javascript
Nodejs全局安装和本地安装的不同之处
2016/07/04 NodeJs
jQuery实现Select左右复制移动内容
2016/08/05 Javascript
浅谈jquery拼接字符串效率比较高的方法
2017/02/22 Javascript
用Vue-cli搭建的项目中引入css报错的原因分析
2017/07/20 Javascript
集合Bootstrap自定义confirm提示效果
2017/09/19 Javascript
ionic3实战教程之随机布局瀑布流的实现方法
2017/12/28 Javascript
vue.js内置组件之keep-alive组件使用
2018/07/10 Javascript
解决Layui数据表格中checkbox位置不居中的方法
2018/08/15 Javascript
jQuery实现鼠标移到某个对象时弹出显示层功能
2018/08/23 jQuery
使用express获取微信小程序二维码小记
2019/05/21 Javascript
详解element-ui中el-select的默认选择项问题
2019/08/02 Javascript
layui-table对返回的数据进行转变显示的实例
2019/09/04 Javascript
Vue列表循环从指定下标开始的多种解决方案
2020/04/08 Javascript
JS中的变量作用域(console版)
2020/07/18 Javascript
详解webpack的文件监听实现(热更新)
2020/09/11 Javascript
Python基于回溯法子集树模板实现图的遍历功能示例
2017/09/05 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
解决django后台样式丢失,css资源加载失败的问题
2019/06/11 Python
python粘包问题及socket套接字编程详解
2019/06/29 Python
零基础学python应该从哪里入手
2020/08/11 Python
带有css3动画效果的兼容多浏览器简单导航条示例
2014/01/26 HTML / CSS
HTML5 Canvas渐进填充与透明实现图像的Mask效果
2013/07/11 HTML / CSS
护士实习自我鉴定
2013/10/22 职场文书
医学院校毕业生自荐信范文
2014/01/01 职场文书
2016大学迎新欢迎词
2015/09/29 职场文书
Python之基础函数案例详解
2021/08/30 Python
Java Spring Boot 正确读取配置文件中的属性的值
2022/04/20 Java/Android