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 语句的更多相关文章

  1. 两种方式:mysql查看正在执行的sql语句

    mysql查看正在执行的sql语句 2015年08月21日 17:32:59 阅读数:15398   有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应 ...

  2. Mysql性能优化一:SQL语句性能优化

    这里总结了52条对sql的查询优化,下面详细来看看,希望能帮助到你 1, 对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 2,应尽量避免在 w ...

  3. mysql查看正在执行的sql语句

    有2个方法: 1.使用processlist,但是有个弊端,就是只能查看正在执行的sql语句,对应历史记录,查看不到.好处是不用设置,不会保存. -- use information_schema; ...

  4. MySQL数据库优化技术之SQL语句慢查询定位

    通过show status命令了解各种SQL的执行频率 MySQL客户端连接成功后,通过使用show [session|global] status 命令可以提供服务器状态信息: 其中的session ...

  5. 解决Mysql搭建成功后执行sql语句报错以及区分大小写问题

    刚搭建完mysql 8.0以后会: 一.表区分大小写, 二.执行正确的sql语句成功且会报:[Err] 1055 - Expression #1 of ORDER BY clause is not i ...

  6. Mysql查看锁等信息SQL语句

    查看锁等信息,包括锁信息: select "HOLD:",ph.id h_processid,trh.trx_id h_trx_id,trh.trx_started h_start ...

  7. mysql 优化(包含sql语句的书写)

    http://blog.chinaunix.net/uid-11640640-id-3426908.html  mysql性能优化-慢查询分析.优化索引和配置 2012-11-30 15:18:42 ...

  8. 《MySQL慢查询优化》之SQL语句及索引优化

    1.慢查询优化方式 服务器硬件升级优化 Mysql服务器软件优化 数据库表结构优化 SQL语句及索引优化 本文重点关注于SQL语句及索引优化,关于其他优化方式以及索引原理等,请关注本人<MySQ ...

  9. 如何查找MySQL中查询慢的SQL语句

    如何查找MySQL中查询慢的SQL语句 更多 如何在mysql查找效率慢的SQL语句呢?这可能是困然很多人的一个问题,MySQL通过慢查询日志定位那些执行效率较低的SQL 语句,用--log-slow ...

随机推荐

  1. 学习Spring-Data-Jpa(十五)---Auditing与@MappedSuperclass

    1.Auditing 一般我们针对一张表的操作需要记录下来,是谁修改的,修改时间是什么,Spring-Data为我们提供了支持. 1.1.在实体类中使用Spring-Data为我们提供的四个注解(也可 ...

  2. lxml_time_代理

    import requests from pyquery import PyQuery as pq import json import jsonpath from lxml import etree ...

  3. fibnacci数列递归实现

    斐波那契数列 Fibonacci sequence又称黄金分割数列.因数学家列昂纳多·斐波那契(Leonardoda Fibonacci)以兔子繁殖为例子而引入,故又称为"兔子数列" ...

  4. 关于new FormData() 对象的用法

    formData.append()  理论上本身若键值已经存在,那么我们append的数据是进行类似push的操作,为了匹配php,我们进行加了[]  ,这个操作.!

  5. 2019.12.10 break 标记

    class Demo01{ public static void main(String[] args) { int i=0; a:for(i=0;i<3;i++){ for(int j=0;j ...

  6. Windows是如何将64位Ntdll映射到32位进程的---转自简书

    今天我们探索一个问题: 64位的ntdll是如何被加载到WoW64下的32位进程?今天的旅程将会带领我们进入到Windows内核逻辑中的未知领域,我们将会发现32位进程的内存地址空间是如何被初始化的. ...

  7. vault 使用 中间ca 进行证书管理

    使用vault 进行pki 管理是很方便的,以前测试的都是由根证书进行证书签发,这次使用中间ca 进行签发 所以会有一个证书连 测试使用docker-compose 运行 环境准备 docker-co ...

  8. javascript巧用注释保存html文本结构

    在js中,肯定会遇到js代码里面有html接口的时候,骚年们都有哪些写法? 刚学JS的写法: <script> var strHtml="<div id=\"te ...

  9. GoCN每日新闻(2019-10-23)

    GoCN每日新闻(2019-10-23) GoCN每日新闻(2019-10-23) 1. 从0开始,用Go实现Lexer和Parser https://mp.weixin.qq.com/s/cFGJX ...

  10. httpd.exe你的电脑中缺失msvcr110.dll怎么办(WIN2008服务器环境装WAMP2.5出现的问题)

    httpd.exe你的电脑中缺失msvcr110.dll怎么办 去微软官方下载相应的文件 1 打开上面说的网址 Download and install, if you not have it alr ...