【MySQL进阶之路 | 高级篇】EXPLAIN的进一步使用

1. EXPLAIN的四种输出格式

EXPLAIN可以输出四种格式:传统格式,JSON格式,TREE格式以及可视化输出。用户可以根据需要选择使用于自己的格式。

1). 传统格式

传统格式简单明了,输出是一个表格形式。

2). JSON格式

第一种格式中介绍的EXPLAIN语句输出中缺少了一个衡量计划好坏的重要属性--成本。而JSON格式是四种格式里输出信息最详细的格式。里面包含了执行的成本信息。在EXPLAIN单词和真正的查询语句中间加上FORMAT=JSON。

3). TREE格式

TREE格式是8.0.16版本之后引入的新格式,主要根据查询的各个部分之间的关系和各部分的执行顺序来描述如何查询。在EXPLAIN单词和真正的查询语句中间加上FORMAT=TREE。

4). 可视化输出

可以通过MySQL workbench可视化查看MySQL的执行计划。通过点击workbench的放大镜图标,即可生成可视化的查询计划。

2. SHOW WARNINGS的使用

在我们使用explain语句查看了某个查询的执行计划后,紧接着可以使用show warnings语句查看与这个查询的执行计划有关的一些扩展信息。也就是显示了相当于优化器优化以后的执行计划信息。

相关推荐
Decay__3 小时前
18_MySQL 智能巡检方案 —— 巡检项清单 / 一键巡检脚本 / 健康评分
运维·数据库·sql·mysql·架构
凤凰院凶涛QAQ4 小时前
《MySQL内核拆解:从SQL到InnoDB》(四) : 联合查询 & 视图
数据库·sql·mysql
张小姐的猫4 小时前
【MySQL】访问 & 数据流动原理
android·数据库·mysql·adb·1024程序员节
这个DBA有点耶8 小时前
信创场景下数据同步软件怎么选?对比开源CDC与原生闭环工具的结构性差异
数据库·mysql·架构
多客:duokelijie9 小时前
代练订单系统选型思路:跨品类游戏接入、订单分层管理、自动结算逻辑拆解!
数据库·mysql·微信小程序·前端框架·uni-app·php·持续部署
FluxDB12 小时前
FluxDB vs DBX vs DBeaver:GPUI、Tauri、Eclipse 三种技术栈实测
数据库·mysql
数据库小学妹12 小时前
MySQL分页结果不稳定:唯一键兜底与游标分页
数据库·mysql·dba
风翼靓崽13 小时前
mysql数据备份/恢复
数据库·mysql
木棉软糖13 小时前
5 步确认 TiDB 历史抽数的 Logstash 有没有真的写进 ES
elasticsearch·oracle·tidb
这个DBA有点耶15 小时前
Merge还是Materialize?一文讲透MySQL 8.0 CTE底层的执行计划博弈与性能陷阱
数据库·mysql·架构