Mysql查看优化后的SQL 语句
EXPLAIN EXTENDED
1先执行 EXPLAIN EXTENDED
2 show warnings;
EXPLAIN EXTENDED
SELECT
*
FROM
`receivable_application_relation` d
WHERE d.`application_id` IN
(SELECT
id
FROM
application
WHERE application_code IN (
'ZYHT20190305192721001',
'ZYHT20190309152839001',
'ZYHT20190309152904001'
));
SHOW WARNINGS;
查看优化后最终执行的sql

In 并不是走的子查询 而是 join ,这个是 从上面的画红线的地方copy 出来的
SELECT
`cf_receivables_financing`.`d`.`id` AS `id`,
`cf_receivables_financing`.`d`.`application_id` AS `application_id`,
`cf_receivables_financing`.`d`.`receivable_id` AS `receivable_id`,
`cf_receivables_financing`.`d`.`update_time` AS `update_time`,
`cf_receivables_financing`.`d`.`create_time` AS `create_time`,
`cf_receivables_financing`.`d`.`deleted` AS `deleted`
FROM
`cf_receivables_financing`.`application`
JOIN `cf_receivables_financing`.`receivable_application_relation` `d`
WHERE (
(
`cf_receivables_financing`.`d`.`application_id` = `cf_receivables_financing`.`application`.`id`
)
AND (
`cf_receivables_financing`.`application`.`application_code` IN (
'ZYHT20190305192721001',
'ZYHT20190309152839001',
'ZYHT20190309152904001'
)
)
)
EXPLAIN EXTENDED
SELECT
d.*
FROM
`receivable_application_relation` d
INNER JOIN application a
ON d.`application_id` = a.id
WHERE a.application_code IN (
'ZYHT20190305192721001',
'ZYHT20190309152839001',
'ZYHT20190309152904001'
);
查看优化后的sql
SELECT
`cf_receivables_financing`.`d`.`id` AS `id`,
`cf_receivables_financing`.`d`.`application_id` AS `application_id`,
`cf_receivables_financing`.`d`.`receivable_id` AS `receivable_id`,
`cf_receivables_financing`.`d`.`update_time` AS `update_time`,
`cf_receivables_financing`.`d`.`create_time` AS `create_time`,
`cf_receivables_financing`.`d`.`deleted` AS `deleted`
FROM
`cf_receivables_financing`.`receivable_application_relation` `d`
JOIN `cf_receivables_financing`.`application` `a`
WHERE (
(
`cf_receivables_financing`.`d`.`application_id` = `cf_receivables_financing`.`a`.`id`
)
AND (
`cf_receivables_financing`.`a`.`application_code` IN (
'ZYHT20190305192721001',
'ZYHT20190309152839001',
'ZYHT20190309152904001'
)
)
);
Mysql查看优化后的SQL 语句的更多相关文章
- 两种方式:mysql查看正在执行的sql语句
mysql查看正在执行的sql语句 2015年08月21日 17:32:59 阅读数:15398 有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应 ...
- Mysql性能优化一:SQL语句性能优化
这里总结了52条对sql的查询优化,下面详细来看看,希望能帮助到你 1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 w ...
- mysql查看正在执行的sql语句
有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到.好处是不用设置,不会保存. -- use information_schema; ...
- MySQL数据库优化技术之SQL语句慢查询定位
通过show status命令了解各种SQL的执行频率 MySQL客户端连接成功后,通过使用show [session|global] status 命令可以提供服务器状态信息: 其中的session ...
- 解决Mysql搭建成功后执行sql语句报错以及区分大小写问题
刚搭建完mysql 8.0以后会: 一.表区分大小写, 二.执行正确的sql语句成功且会报:[Err] 1055 - Expression #1 of ORDER BY clause is not i ...
- Mysql查看锁等信息SQL语句
查看锁等信息,包括锁信息: select "HOLD:",ph.id h_processid,trh.trx_id h_trx_id,trh.trx_started h_start ...
- mysql 优化(包含sql语句的书写)
http://blog.chinaunix.net/uid-11640640-id-3426908.html mysql性能优化-慢查询分析.优化索引和配置 2012-11-30 15:18:42 ...
- 《MySQL慢查询优化》之SQL语句及索引优化
1.慢查询优化方式 服务器硬件升级优化 Mysql服务器软件优化 数据库表结构优化 SQL语句及索引优化 本文重点关注于SQL语句及索引优化,关于其他优化方式以及索引原理等,请关注本人<MySQ ...
- 如何查找MySQL中查询慢的SQL语句
如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...
随机推荐
- 委托、Lamda表达式
1.委托概述 2.匿名方法 3.语句Lambda 4.表达式Lambda 5.表达式树
- Problem F. Wiki with String
Problem F. Wiki with StringInput file: standard input Time limit: 1 secondOutput file: standard outp ...
- [转]gulp排除已压缩文件思路
文章转载至[gulp排除已压缩文件思路] gulp默认排除语法的弊端 有个时候我们需要时用gulp排除已经压缩过的js,css等.如果以压缩文件是以".min.js"之类命名规范的 ...
- mysql max()函数,min()函数,获取最大值以及最小值
mysql> select * from table1; +----------+------------+-----+---------------------+ | name_new | t ...
- pycharm无法识别自己的文件夹的程序
网上找教程折腾了半天也没解决,然后我换了一下文件夹名称…… 文件夹名称不能用数字开头,否则识别不出来.
- 把pdf的内容转化为txt文件
import org.apache.pdfbox.pdmodel.PDDocument; import org.apache.pdfbox.util.PDFTextStripper; import j ...
- 第07组 Beta冲刺(4/5)
队名:摇光 队长:杨明哲 组长博客:求戳 作业博客:求再戳 队长:杨明哲 过去两天完成了哪些任务 文字/口头描述:已经完成代码编辑器,暂时没有其他任务 展示GitHub当日代码/文档签入记录:(组内共 ...
- Oracle 优化SQL
https://www.cnblogs.com/ios9/p/8012611.html 1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2 ...
- Electron 入门第一篇
官网:http://electronjs.org/docs/tutorial/application-architecture 转载:https://blog.csdn.net/qq_33323731 ...
- typescript - 6.泛型
泛型类 class MinClas<T>{ public list:T[]=[]; add(value:T):void{ this.list.push(value); } min():T{ ...