EXPLAIN输出格式全解析:JSON、TREE与可视化

EXPLAIN不仅可以输出为表格这样的传统格式,也可以输出为JSON格式、TREE格式。甚至可以得到可视化输出格式。

1、传统格式

具体每个列代表什么意思可以参考上篇。

2、JSON格式

实现方式:在EXPLAIN与查询语句中添加FORMAT=JSON即可

输出的内容相比传统方式就比较丰富。

其中:

(1)read_cost由以下部分组成:

  • I/O成本;
  • 检测 rows × (1-filter)条记录的CPU成本。

(2)eval_cost计算:

  • 检测rows×filter条记录的成本

(3)prefix_cost是单独查询s1表成本:read_cost+eval_cost

(4)data_read_per_join表示在当次查询中需要读取数据量

3、TREE格式

主要根据查询的各个部分之间的关系和各部分的执行顺序来描述如何查询。

4、可视化输出

通过MySQL Workbench工具可以生成可视化查询计划(每个表格的框上方是每个表访问所发现的行数的估计值以及访问该表 的成本)

说在最后:SHOW WARNINGS

show warnings可以查看优化器优化后的查询语句大致执行流程

相关推荐
xiangyun6114 分钟前
【408数据结构 08】队列:循环队列判空判满,408年年考,一次讲清
c语言·开发语言·数据结构·c++·算法
风哥2号22 分钟前
数据库教程FGMT43‑MySQL性能分析与优化调整
数据库·mysql
xiangyun6126 分钟前
【408数据结构 06】双链表、循环链表、静态链表
c语言·开发语言·数据结构·c++·算法
随身数智备忘录1 小时前
财务数据分析如何与业务场景结合?财务数据分析如何从数出有据到数出有用?
数据库
白远山2 小时前
家政服务家政社区派单实战:调度系统架构设计与实现指南
java·开发语言·小程序·架构·需求分析
这个DBA有点耶2 小时前
数据库教程:从零基础到实战的完整学习路径(2026版)
数据库·程序员·代码规范
DevRay3 小时前
Java 21虚拟线程深度实战:告别线程池焦虑,百万并发吞吐量直接翻倍(原理+代码+避坑)
java·开发语言
forestsea3 小时前
从零构建 Java 智能体 RAG 系统:Milvus 向量数据库实战指南
java·数据库·milvus
free-elcmacom3 小时前
C++学习<1>程序分区
开发语言·c++
醉颜凉3 小时前
Java 必看:如何彻底避免 HashMap 多线程死循环问题?
java·开发语言