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

相关推荐
达梦产品与服务1 小时前
稳扎稳打,持续迭代 | SQLark V3.10 更新,30+ 项优化与修复
mysql·oracle·达梦数据库·pg·sqlark百灵连接
難釋懷1 小时前
Redis网络模型-IO多路复用模型-poll模式
网络·数据库·redis
dFObBIMmai1 小时前
如何在 CSS 中实现元素的绝对定位,使其不受窗口尺寸变化影响
jvm·数据库·python
Byron Loong2 小时前
【c++】为什么有了dll和.h,还需要包含lib
java·开发语言·c++
独隅2 小时前
CodeX + Visual Studio Code 联动的全面指南
开发语言·php
坚果派·白晓明2 小时前
【鸿蒙PC三方库移植适配框架解读系列】第一篇:Lycium C/C++ 三方库适配 — 概述与环境配置
c语言·开发语言·c++·harmonyos·开源鸿蒙·三方库·c/c++三方库
treesforest2 小时前
IP精准定位服务:从城市轮廓到街道坐标,技术如何重塑空间感知
网络·数据库·网络协议·tcp/ip·ip
大明者省2 小时前
宝塔开了端口,Ubuntu 还得开相应端口才能打通
服务器·数据库·ubuntu
爱吃小白兔的猫2 小时前
LPA算法详解:一种近线性时间的图社区发现方法
开发语言·php