mysql查看执行计划重构后的查询
MYSQL优化器会对客服端发送的SQL语句进行优化,优化后的SQL语句再被MYSQL执行。然后我们在优化SQL的时候,怎么获取到MYSQL优化后执行语句呢。
EXPLAIN select *
from sys_system s
INNER JOIN sys_organ o ON s.system_code=o.system_code; SHOW WARNINGS;
执行了上述语句后,可以看到结果如下图:

将Message复制下来后查看:
select `db_jc`.`s`.`id` AS `id`,
`db_jc`.`s`.`system_code` AS `system_code`,
`db_jc`.`s`.`system_name` AS `system_name`,
`db_jc`.`s`.`state` AS `state`,
`db_jc`.`s`.`description` AS `description`,
`db_jc`.`o`.`id` AS `id`,
`db_jc`.`o`.`system_code` AS `system_code`,
`db_jc`.`o`.`organ_code` AS `organ_code`,
`db_jc`.`o`.`organ_name` AS `organ_name`,
`db_jc`.`o`.`state` AS `state`,
`db_jc`.`o`.`memo` AS `memo`,
`db_jc`.`o`.`creator_name` AS `creator_name`,
`db_jc`.`o`.`creator_id` AS `creator_id`,
`db_jc`.`o`.`create_time` AS `create_time`,
`db_jc`.`o`.`updater_name` AS `updater_name`,
`db_jc`.`o`.`updater_id` AS `updater_id`,
`db_jc`.`o`.`update_time` AS `update_time`
from `db_jc`.`sys_system` `s` join `db_jc`.`sys_organ` `o`
where (`db_jc`.`o`.`system_code` = `db_jc`.`s`.`system_code`);
MYSQL重构的查询如上图。
在学习《高性能MySql》这本书的时候,书中说到用EXPLAIN EXTENDED后执行SHOW WARNINGS,可以获得重构后的查询。
执行后:

红色圈注里描述 EXTENDED目前已经被MYSQL弃用。再之后的版本中将会被删除。
我这边用的MYSQL是5.7.18-log版本。
总结:在我们对SQL进行优化的时候,了解MYSQL重构后的查询还是很有必要的,可以帮我们了解我们写下的SQL最后是怎么执行的。
mysql查看执行计划重构后的查询的更多相关文章
- Mysql查看执行计划-explain
最近生产环境有一些查询较慢,需要优化,于是先进行业务确认查询条件是否可以优化,不行再进行sql优化,于是学习了下Mysql查看执行计划. 语法 explain <sql语句> 例如: e ...
- Mysql查看执行计划
EXPLAIN(小写explain)显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. EXPLAIN + sql语句可以查看mysql的执行 ...
- MySQL 查看执行计划
MySQL 使用 explain + sql 语句查看 执行计划,该执行计划不一定完全正确但是可以参考. EXPLAIN SELECT * FROM user WHERE nid = 3; selec ...
- 第二百八十八节,MySQL数据库-索引、limit分页、执行计划、慢日志查询
MySQL数据库-索引.limit分页.执行计划.慢日志查询 索引,是数据库中专门用于帮助用户快速查询数据的一种数据结构.类似于字典中的目录,查找字典内容时可以根据目录查找到数据的存放位置,然后直接获 ...
- MySQL 使用explain查看执行计划
使用explain查看执行计划, 下面是针对这两条语句进行分析,其查询结果是一样的. EXPLAIN select n.id,n.title from info n inner join info_t ...
- mysql explain extended 查看 执行计划
本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 本文以转移至本人的个人博客,请多多关注! 1. explain 可以查看 ...
- MYSQL EXPLAIN执行计划命令详解(支持更新中)
本文来自我的github pages博客http://galengao.github.io/ 即www.gaohuirong.cn 摘要: 本篇是根据官网中的每个一点来翻译.举例.验证的:英语不好,所 ...
- hive高阶1--sql和hive语句执行顺序、explain查看执行计划、group by生成MR
hive语句执行顺序 msyql语句执行顺序 代码写的顺序: select ... from... where.... group by... having... order by.. 或者 from ...
- Mysql explain执行计划
EXPLAIN(小写explain)显示了mysql如何使用索引来处理select语句以及连接表.可以帮助选择更好的索引和写出更优化的查询语句. EXPLAIN + sql语句可以查看mysql的执行 ...
随机推荐
- Open CV 环境配置
{ //https://github.com/zhmmmm/ANYTOOL-2.0.0.0.2Version/tree/master/OpenCVProject } /* //各个版本下载 https ...
- 关于Async与Await的FAQ
=============C#.Net 篇目录============== 环境:VS2012(尽管System.Threading.Tasks在.net4.0就引入,在.net4.5中为其增加了更丰 ...
- Hexo 博客图片添加至图床---腾讯云COS图床使用。
个人博客:https://mmmmmm.me 源码:https://github.com/dataiyangu/dataiyangu.github.io 腾讯云官网 登录注册 创建存储桶 进入上面的存 ...
- pycharm for mac安装
http://www.xue51.com/mac/5604.html
- day 56 Django基础五之django模型层(二)多表操作
Django基础五之django模型层(二)多表操作 本节目录 一 创建模型 二 添加表记录 三 基于对象的跨表查询 四 基于双下划线的跨表查询 五 聚合查询.分组查询.F查询和Q查询 六 ORM ...
- springboot+springsecurity+thymeleaf
来源:听秦疆老师的课笔记 springsecurity是一个权限管理框架,用来授权,认证,加密等等......类似的工具还有shiro 1.整合 我用的是springboot2.2.0版本,导入以下依 ...
- <每日一题>题目11:以文件夹名称作为参数,返回该文件夹下所有文件的路径
''' 分析: 1.知道文件夹名称(假设是形如:E:\\software\\Notepad++),很显然可以通过OS模块去求 2.OS.listdir(sPath),列出文件夹内所有的文件和文件夹,以 ...
- 将近半个小时,把一小段简短的汇编代码写成了C语言代码
我自己看,感觉好像一句一句翻译的,写得很是生硬,不如书上写的灵活 0040137E 8B7424 04 MOV ESI,DWORD PTR SS:[ESP+4]00401382 ...
- iOS开发系列-JSON解析
概述 JOSN是一种轻量级的数据格式,一般用于数据交互.服务器返回给客户端,一般都是JSON格式或者XML格式. JSON的格式: {"name" : "CoderHon ...
- Python全栈开发:初识Python
Pythton简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语 ...