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可以查看优化器优化后的查询语句大致执行流程

相关推荐
亲亲小宝宝鸭10 小时前
前端性能监控:web-vitals
前端·性能优化·监控
Databend12 小时前
在 AWS 中国峰会逛了一天,我在 Databend 展台看到了 Agent 数据基础设施的新思路
数据库·人工智能·agent
李白客2 天前
KES新版MySQL兼容能力再升级意味着什么?
mysql·国产数据库
ClouGence2 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
飞将2 天前
从零实现数据库(2)——HashIndex + IndexManager
数据库
Nturmoils3 天前
订单列表慢查询,先看 WHERE、ORDER BY 和 LIMIT
数据库
渣波3 天前
拒绝 SQL 焦虑!手把手带你用 NestJS + Prisma + DTO 写出“防弹”级后端代码
javascript·数据库·后端
Jim6004 天前
【吃透 MySQL InnoDB连载】第 1 章・解密线上数据库高频故障
mysql
TrisighT4 天前
Electron 跑在鸿蒙 PC 上,单窗口和多窗口内存差 800MB?我抓了 5 组数据
性能优化·electron·harmonyos