not in 优化 NOT EXISTS替代
优化前
SELECT
id,
loan_id,
NAME
FROM
xw_baoxian_interchange
WHERE
AND time BETWEEN 1522512000
AND 1525103999
AND STATUS IN (1, 2, 4)
AND type IN (1, 2)
AND belong_company = 0
AND is_del = 0
AND loan_id NOT IN (
SELECT
loan_id
FROM
xw_user_applyloan_baoxian
WHERE
company = 1
)
LIMIT 20
查询时间:6s
优化后
SELECT
t1.id,
t1.loan_id,
t1.NAME
FROM
xw_baoxian_interchange t1
WHERE
t1.time BETWEEN 1522512000 AND 1525103999
AND t1.STATUS IN (1, 2, 4)
AND t1.type IN (1, 2)
AND t1.belong_company = 0
AND t1.is_del = 0
AND NOT EXISTS (
SELECT
loan_id
FROM
xw_user_applyloan_baoxian t3
WHERE
t3.loan_id = t1.loan_id
AND t3.company = 1
)
limit 20
查询时间:0.127s
not in 优化 NOT EXISTS替代的更多相关文章
- SQL中如何使用EXISTS替代IN
原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/6385312.html 我们在程序中一般在做SQL优化的时候讲究使用EXISTS带替代IN的做 ...
- MySQL优化--NOT EXISTS和LEFT JOIN方式差异
在MySQL中,我们可以将NOT EXISTS语句转换为LEFT JOIN语句来进行优化,哪为什么会有性能提升呢? 使用NOT EXISTS方式SQL为: ) FROM t_monitor m WHE ...
- 如何使用优化代码段替代WordPress插件
每一个WordPress网站,都可以通过使用插件来获得更多的功能.但是太多的插件,会拖慢站点的运行速度,并且让站点看上去臃肿不堪. 一些插件的功能让你舍不得卸载,但是其实你可以使用简单的PHP代码来替 ...
- Oracle中exists替代in语句
大家都知道exists的速度要比in的速度快,也知道exists函数返回一个布尔值,也就是说exists函数里最后要是 a.id =b.id类似这种方式结束. 例如: SELECT * FROM TB ...
- SQL优化技巧-批处理替代游标
通过MSSQL中的用户自定义表类型可以快速将需要处理的数据存储起来,生成新的临时表(这里使用变量表),然后根据表中字段进行批处理替代游标. 用户自定义表类型 0 --创建用户自定义表类型 1 Crea ...
- SQL优化--使用 EXISTS 代替 IN 和 inner join来选择正确的执行计划
在使用Exists时,如果能正确使用,有时会提高查询速度: 1,使用Exists代替inner join 2,使用Exists代替 in 1,使用Exists代替inner join例子: 在一般写s ...
- oracle用NOT EXISTS替代NOT IN
在子查询中,NOT IN子句将执行一个内部的排序和合并. 无论在哪种情况下,NOT IN都是最低效的 (因为它对子查询中的表执行了一个全表遍历). 为了避免使用NOT IN ,我们可以把它改写成外连 ...
- oracle 用EXISTS替代IN
在许多基于基础表的查询中,为了满足一个条件,往往需要对另一个表进行联接.在这种情况下, 使用EXISTS(或NOT EXISTS)通常将提高查询的效率. 低效: SELECT * FROM EMP ( ...
- Mysql-SQL优化-子查询替代LEFT JOIN
表A:批次信息表, 表B:实际批次明细表, Mysql版本:5.6.36 两表之间的数据体量差异:表B是表A的10000倍. 经过结转,表B通常保留 1千5百万数据.表A就是1千多条数据. 计算近24 ...
随机推荐
- jquery实现常用UI布局
tab html <div class="tab"> <ul class="tab-title"> <li class=" ...
- Bulma CSS - 简介
Bulma CSS框架教程 Bulma CSS – 简介 Bulma CSS – 开始 Bulma CSS – CSS类 Bulma CSS – 模块化 Bulma CSS – 响应式 Bulma是什 ...
- python函数-迭代器&生成器
python函数-迭代器&生成器 一.迭代器 1 可迭代协议 迭代:就是类似for循环,将某个数据集内的数据可以“一个挨着一个取出来” 可迭代协议: ① 协议内容:内部实现__iter__方法 ...
- python刷LeetCode:28. 实现 strStr()
难度等级:简单 题目描述: 实现 strStr() 函数. 给定一个 haystack 字符串和一个 needle 字符串,在 haystack 字符串中找出 needle 字符串出现的第一个位置 ( ...
- tab选项卡,带自动播放
<!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content ...
- POJ 1284:Primitive Roots 求原根的数量
Primitive Roots Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 3381 Accepted: 1980 D ...
- 优秀的linux学习网站
从网络上拷贝别人归纳的列表. Linux优秀网站列表 国内 http://www.chinaunix.net/ 国内最火爆的unix/linux论坛 http://www.linuxforum.net ...
- centos 制作指定需求命令的YUM源
场景: 没有YUM源,但是需要安装一些用到的命令,如vim,telnet等少量命令,不想YUM源太大,满足需求即可.于是制作一个仅需要满足要求的yum源 步骤一: 联网环境下安装createreo命令 ...
- 19 01 15 django 数据库设计模型 管理站点 注意:在引入外键在django 2以上改版
模型设计 我们之前操作数据库是通过写sql语句 ORM框架 可以通过不写sql 语句来进行操作数据库 1.定义模型类 模型类定义在models.py文件中,继承自models.Model类. ...
- 关于 sublime 使用技巧
实行多位置编写 按住 alt 键 用鼠标点击想要编写的位置 实行正方形任意拉选操作 按住 alt 键 用鼠标拖动来进行勾选 继续转发别人的帖子 模块与包的导入 https://blog.csdn ...