【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语句查看与这个查询的执行计划有关的一些扩展信息。也就是显示了相当于优化器优化以后的执行计划信息。

相关推荐
xiaoye-duck1 天前
《C++ 项目:手写大模型接入 SDK》DataManager数据管理模块:SQLite持久化存储
开发语言·数据库·c++·sqlite
codeejun1 天前
每日一Go·MySQL-14、慢 SQL 产生原因全解
sql·mysql·golang
ServBay2 天前
从 Val Town 停服看,代码能下载不代表项目能搬家
后端·sqlite
我不会起名字3222 天前
seq 空洞排查:Mongo 的 51 只是预留上界,Redis CURR 才是已消耗边界
redis·后端·mongodb·go·即时通讯·im·故障排查
星恒随风2 天前
MySQL 从零入门(四):表的增删改查与基础查询详解
linux·服务器·数据库·笔记·mysql
Pniubi2 天前
MySQL靠什么实现事务的?事务隔离级别有哪些?
java·数据库·mysql
aiks_yuan2 天前
MySQL 死锁怎么排查:看懂 INNODB STATUS 死锁日志,先查后插为什么必死锁(MySQL 8.2 实测)
mysql
进击的荆棘2 天前
MySQL——库的操作
数据库·mysql
计算机毕设定制辅导-无忧学长2 天前
《基于Spring Boot的迷游哈游戏综合服务平台的开发》
java·vue.js·spring boot·mysql·迷游哈游戏综合服务平台
这个DBA有点耶3 天前
函数索引的“完全一致”有多苛刻:写法、字符集、类型,差一处就失效
数据库·mysql·代码规范