查看MySQL查询计划的方法和格式

发布于 2021-10-12 08:17

查看MySQL的查询计划是分析查询的重要方法,可以通过使用EXPLAIN语句来确认优化器将采取哪种查询计划,是否与你的预期一致。

如何使用EXPLIAN?使用它有两种方式:

  1. 直接在查询语句之前直接加上EXPLAIN即可。EXPLAIN支持 SELECT,DELETE,INSERT,REPLACE和UPDATE语句。执行EXPLAIN时并没有真正的执行该后面的语句,因此可以安全的查看执行计划。

  2. 查看当前连接的执行计划。当用户发现有一个查询执行了很长时间,用户需要分析执行缓慢的原因,这时可以通过EXPLAIN FOR CONNECTION语句查看当前执行语句的查询计划。用户可以通过sys.session视图里面的conn_id来获得当前查询的连接id。

EXPLAIN的格式。EXPLAIN可以输出四种格式,传统格式,JSON格式,tree格式以及可视化输出。用户可以根据需要选择适用于自己的格式。

  1. 传统格式简单明了,输出是一个表格形式,概要说明查询计划。

  2. JSON格式是四种格式里面输出信息最详尽的格式,里面还会包含执行成本信息。

  3. TREE格式是8.0.16版本之后引入的新格式,主要根据查询的各个部分之间的关系和各部分的执行顺序来描述如何查询。

上面的内容是关于查看执行计划的方法和输出格式。

文章至此。

   

近期热文

  • 神器 | MySQL的管控工具之 Percona Toolkit介绍

  • 2021年8月20日第十三届全国人民代表大会常务委员会第三十次会议通过《中华人民共和国个人信息保护法》

  • 知识分享 | mysql服务器启动后,为啥有mysqld_safe和mysqld 2个同时存在,能不能干掉一个?

  • 技术分享 | kubernetes operator 简介

  • 容器化 | ClickHouse on K8s 部署篇【建议收藏】

  • 分享篇 | MySQL的ibdata1是个啥,为啥越来越大,怎么缩小?

  • 知识篇 | MySQL企业版之Audit(审计)初体验

  • 知识点 | 索引设计(索引设计详细规范)

  • 知识点 | SQL标准协议有哪些?

  • 知识点 | 你应该了解的MySQL事件(--event)!

  • 知识篇 | 查看MySQL查询计划的方法和格式

  • 生产排查 | MySQL主从同步时报错1864之slave_pending_jobs_size_max设置不当导致的主从失效案例

  • 2021年中国数据库行业研究报告

  • 2021年5月国产数据库排行榜 | “百舸争流”的国产数据,你该如何选?

  • MySQL Shell ——MySQL的专属管控陪你过命令工具

  • 知识点 | MySQL innodb的数据一致性如何通过日志实现?

  • 知识分享 | MySQL InnoDB 日志缓冲区(Log Buffer)讲解

  • 理论学习 | MySQL 8.0.18 +的hash join学习

  • 技术分享 | MySQL 如何安全 delete 巨大量数据行?

  • 技术分享 | MySQL binlog 分析工具 analysis_binlog之介绍

  • 知识点 | 今天好好学习MPP和MapReduce分别是个嘛?!

  • 知识点 | 今天好好学习MPP和MapReduce分别是个嘛?!

本文来自网络或网友投稿,如有侵犯您的权益,请发邮件至:aisoutu@outlook.com 我们将第一时间删除。

相关素材