MySQL Explain关键字:语法和输出格式

MySQL Explain关键字:语法和输出格式

语法结构如下:

{EXPLAIN | DESCRIBE | DESC}tbl_name [col_name | wild]{EXPLAIN | DESCRIBE | DESC}[explain_type]{explainable_stmt | FOR CONNECTION connection_id}{EXPLAIN | DESCRIBE | DESC} ANALYZE [FORMAT = TREE] select_statementexplain_type: {FORMAT = format_name
}format_name: {TRADITIONAL| JSON| TREE
}explainable_stmt: {SELECT statement| TABLE statement| DELETE statement| INSERT statement| REPLACE statement| UPDATE statement
}

EXPLAIN | DESCRIBE | DESC 这三个关键字是同义词,通常使用DESCRIBE关键字获取表结构信息,而EXPLAIN用于获取查询执行计划。

EXPLAIN适用于 SELECT、 DELETE、 INSERT、 REPLACE和 UPDATE语句。在 MySQL 8.0.19 及更高版本中,它也适用于 TABLE语句。

当EXPLAIN与可解释语句一起使用时,MySQL 显示来自优化器的有关语句执行计划的信息。也就是说,MySQL 解释了它将如何处理该语句,包括有关表如何连接以及连接顺序的信息。

EXPLAIN 的输出格式

FORMAT选项可用于选择输出格式。默认的是TRADITIONAL,以表格格式呈现输出。也可以显式的设置为JSON格式显示信息。在 MySQL 8.0.16 及更高版本中, 还可以设置为TREE提供树状输出,比 TRADITIONAL格式更精确地描述查询处理;使用EXPLAIN ANALYZE时,只能以TREE格式显示。

从 MySQL 8.0.32 开始, EXPLAIN默认输出格式由系统变量explain_format的值决定 。

以下是使用TRADITIONAL时,输出为表格格式的内容。

mysql> EXPLAIN SELECT Name FROM country WHERE Code Like 'A%';
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
| id | select_type | table   | partitions | type  | possible_keys | key     | key_len | ref  | rows | filtered | Extra       |
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
|  1 | SIMPLE      | country | NULL       | range | PRIMARY       | PRIMARY | 12      | NULL |   17 |   100.00 | Using where |
+----+-------------+---------+------------+-------+---------------+---------+---------+------+------+----------+-------------+
1 row in set, 1 warning (0.00 sec)

如果我们将FORMAT值设为 TREE,然后重新运行相同的EXPLAIN语句,输出将使用树状格式:

mysql> EXPLAIN FORMAT=TREE SELECT Name FROM country WHERE Code LIKE 'A%';
+--------------------------------------------------------------------------------------------------------------+
| EXPLAIN                                                                                                      |
+--------------------------------------------------------------------------------------------------------------+
| -> Filter: (country.`Code` like 'A%')  (cost=3.67 rows=17)-> Index range scan on country using PRIMARY over ('A' <= Code <= 'A????????')  (cost=3.67 rows=17)  |
+--------------------------------------------------------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

以下是JSON格式的输出

mysql> EXPLAIN FORMAT=JSON SELECT Name FROM country WHERE Code LIKE 'A%';
+------------------------------------------------------------------------------+
| EXPLAIN                                                                      |
+------------------------------------------------------------------------------+
| {"query_block": {"select_id": 1,"cost_info": {"query_cost": "3.67"},"table": {"table_name": "country","access_type": "range","possible_keys": ["PRIMARY"],"key": "PRIMARY","used_key_parts": ["Code"],"key_length": "12","rows_examined_per_scan": 17,"rows_produced_per_join": 17,"filtered": "100.00","cost_info": {"read_cost": "1.97","eval_cost": "1.70","prefix_cost": "3.67","data_read_per_join": "16K"},"used_columns": ["Code","Name"],"attached_condition": "(`world`.`country`.`Code` like 'A%')"}}
}                                                                              |
+------------------------------------------------------------------------------+
1 row in set, 1 warning (0.00 sec)

参考链接

https://dev.mysql.com/doc/refman/8.0/en/explain.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/721478.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【模型复现】自制数据集上复现目标检测域自适应 SSDA-YOLO

【模型复现】自制数据集上复现目标检测域自适应 SSDA-YOLO 1. 环境安装2. 数据集制作2.1 数据准备2.2 数据结构 3. 模型训练3.1 数据文件配置3.2 训练超参数配置3.3 模型训练 4. 模型验证4.1 验证超参数配置4.2 模型验证 5. 模型推理5.1 推理超参数配置5.2 模型推理 6. 踩坑记录…

【主题广范|见刊快】2024年可再生能源与智能电网国际学术会议(ICRESG 2024)

【主题广范|见刊快】2024年可再生能源与智能电网国际学术会议(ICRESG 2024) 2024 International Conference Renewable Energy and Smart Grid 本次会议汇聚了来自全球各地的专家学者&#xff0c;共同探讨可再生能源与智能电网领域的最新研究成果、技术进展和未来发展趋势。会…

数据结构.多项式加法

#include<iostream> using namespace std; int a[100][2], b[100][2], sum[100][2]; int n, m; int main() {cin >> n;//输入第一个多项式的项数for (int i 0; i < n; i){cin >> a[i][0] >> a[i][1];//分别输入系数和指数}cin >> m;//输入第…

递归学习资料

思路 例题 package 递归;public class 反向打印字符串 {public static void main(String[] args) {f("ABC",0);}static void f(String str,int n){if (nstr.length()){return;}f(str,n1);System.out.println(str.charAt(n)"");} }多路递归 递归优化 -剪枝…

建立网络防御时需要重点考虑的10个因素

互联网安全中心&#xff08;CIS&#xff09;建议企业可以从以下10个因素入手&#xff1a;资产管理、数据管理、安全配置、账户和访问控制管理、漏洞管理、日志管理、恶意软件防御、数据恢复、安全培训和事件响应。 1、资产管理 建立网络防御的第一步是制定企业资产和软件资产的…

【场景题】如何设计一个购物车功能?

本文参考文章&#xff1a;https://www.hollischuang.com/archives/6998 https://www.woshipm.com/pd/4115447.html https://zq99299.github.io/note-book/back-end-storage/01/03.html 首先我们要明白&#xff1a;购物车系统在电商系统中的角色是作为用户选购商品和最终下单的桥…

AI推介-大语言模型LLMs论文速览(arXiv方向):2024.02.25-2024.03.01

论文目录~ 1.Arithmetic Control of LLMs for Diverse User Preferences: Directional Preference Alignment with Multi-Objective Rewards2.Keeping LLMs Aligned After Fine-tuning: The Crucial Role of Prompt Templates3.Meta-Task Prompting Elicits Embedding from Lar…

【Python】音频合并与切分——采用moviepy包实现

注&#xff1a;moviepy包也可以进行视频的合并和切分&#xff0c;暂时没有需求&#xff0c;所以不予实现。 如果觉得好用&#xff0c;请不要吝啬你的点赞哟~ 另外&#xff0c;如果有其他需求&#xff0c;欢迎私信我&#xff0c;有条件的话&#xff0c;我会尽可能实现。 # 内容描…

AI Icon Generator:免费的AI图标生成器,一键生成你想要的图标(附试用链接)

给大家推荐一个免费的AI图标生成器&#xff0c;只需要输入你想要生成的图标内容就可以一键生成图标&#xff0c;可以选择不同风格&#xff0c;完全免费&#xff0c;比如输入“一只在宇宙飞船上的猪&#xff01;”看看他能生成什么样的效果。 感兴趣的小伙伴快去试试吧&#xff…

一本通1225--金银岛--贪心算法

题目描述 某天KID利用飞行器飞到了一个金银岛上&#xff0c;上面有许多珍贵的金属&#xff0c;KID虽然更喜欢各种宝石的艺术品&#xff0c;可是也不拒绝这样珍贵的金属。但是他只带着一个口袋&#xff0c;口袋至多只能装重量为w的物品。岛上金属有s个种类, 每种金属重量不同&a…

外贸网站做Google SEO 用wordpress模板的优势

易于优化&#xff1a;WordPress模板是专门为搜索引擎优化(SEO)设计的。从一开始&#xff0c;WordPress模板就考虑到了搜索引擎的因素&#xff0c;因此在构建网站时已经考虑了如何优化网站的结构和内容。使用WordPress模板可以简化优化过程&#xff0c;让您的网站更容易被搜索引…

C语言-两数组元素互换

#include <stdio.h> #include <string.h>//两数组元素互换 void swap(int ch1[],int ch2[],int sz) {int i 0;char ch 0;for(i 0;i < sz;i){ch ch1[i];ch1[i] ch2[i];ch2[i] ch;} } //打印数组元素 void print(int ch[],int sz) {int i 0;for(i 0;i <…

uniapp iOS 真机调试

一、下载爱思助手 二、打开爱思助手&#xff0c;把你的 苹果手机 用原装数据线连接至电脑&#xff1a; 找到 工具箱 > 搜索IPA > 打开IAP签名 三、添加 IPA 文件 mac&#xff1a;finder 》应用程序 》右键 HbuilderX 》显示包内容 》HbuilderX / plugins/ lau…

矩阵爆破逆向-条件断点的妙用

不知道你是否使用过IDA的条件断点呢&#xff1f;在IDA进阶使用中&#xff0c;它的很多功能都有大作用&#xff0c;比如&#xff1a;ida-trace来跟踪调用流程。同时IDA的断点功能也十分强大&#xff0c;配合IDA-python的输出语句能够大杀特杀&#xff01; 那么本文就介绍一下这…

基于chatgpt的聊天机器人

基于chatgpt的聊天机器人 以下是一个基于Python的示例代码&#xff0c;展示如何在本地环境中使用预训练的ChatGPT模型构建一个简单的聊天机器人应用程序。在这个示例中&#xff0c;我们将使用Hugging Face Transformers库加载GPT-2模型&#xff0c;并创建一个基于命令行的用户…

Premiere Pro 2024:革新视频编辑,打造专业影视新纪元

在数字化时代&#xff0c;视频已经成为人们获取信息、娱乐消遣的重要媒介。对于视频制作者而言&#xff0c;拥有一款功能强大、易于操作的视频编辑软件至关重要。Premiere Pro 2024&#xff0c;作为Adobe旗下的旗舰视频编辑软件&#xff0c;凭借其卓越的性能和创新的特性&#…

Java 解决异步 @Async 失效问题

1.问题描述 使用Async进行异步处理时&#xff0c;异步没有生效 2.原因分析 经过排查后发现是因为使用Async的方法没有跨2个Service导致的 错误示例 控制器接口 > 直接调用 custAdminService.importCBuy() 3.解决方案 Controller接口不变&#xff0c;多添加一层Service&a…

基于机器学习的曲面拟合方法

随着科技的不断发展&#xff0c;机器学习成为了最近最热门的技术之一&#xff0c;也被广泛应用于各个领域。其中&#xff0c;基于机器学习的曲面拟合方法也备受研究者们的关注。曲面拟合是三维模型处理中的重要技术&#xff0c;其目的是用一组数据点拟合出平滑的曲面&#xff0…

Spring框架学习

Spring&#xff1a; &#xff08;1&#xff09;Bean线程安全问题 &#xff08;2&#xff09;AOP&#xff0c;事务原理&#xff0c;事务失败 &#xff08;3&#xff09;Bean的生命周期 &#xff08;4&#xff09;循环依赖 SpringMVC&#xff1a; &#xff08;1&#xff09…

5201B数据网络测试仪

|5201B数据网络测试仪| | 产品综述 | 电科思仪5201B便携式数据网络测试仪&#xff0c;集成高性能IP基础测试硬件平台&#xff0c;提供L2-L3流量测试及协议仿真解决方案&#xff0c;支持以太网报文线速生成与分析、统计、报文捕获&#xff0c;以及路由、接入、组播、数据中心等协…