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 小时前
Rust实战七 |基于带 colored 颜色文字控制台的批量文件删除工具
开发语言·后端·rust
小马爱打代码1 小时前
Redis 集群方案详解:主从复制、哨兵、脑裂、分片集群和哈希槽
数据库·redis·哈希算法
比昨天多敲两行2 小时前
linux 线程概念与控制
java·开发语言·jvm
huaweichenai2 小时前
php 根据每个类型的抽签范围实现抽签功能
开发语言·php
海南java第二人3 小时前
ClickHouse 稀疏索引深度解析:为什么 OLAP 数据库不用 B-Tree?
数据库·clickhouse
Litluecat3 小时前
信创迁移:Oracle切换海量数据库,慢sql扫描
数据库·sql·oracle·信创·海量
消失在人海中3 小时前
Oracle的CURRENT REDO丢失,数据丢失风险分析
数据库·oracle
codeejun3 小时前
每日一Go-73、云原生成本优化 —— 资源限制 & 指标驱动扩容
开发语言·云原生·golang
喵了几个咪3 小时前
选择第三方IAM还是自建权限体系?中小型后台系统权限架构决策指南
数据库·oracle·架构