博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
用join取代not in
阅读量:5101 次
发布时间:2019-06-13

本文共 496 字,大约阅读时间需要 1 分钟。

写了好几个页面,速度都上不去,瓶颈在于SQL查询。太多的表,太多的not in,总是从一大推表和数据中筛选出一点数据。看了很多关于SQL优化的文章,都强烈要求不要太多使用not in查询,最好用表连接来取代它。如:

select ID,name from Table_A where ID not in (select ID from Table_B)
这句是最经典的not in查询了。改为表连接代码如下:
select Table_A.ID,Table_A.name from Table_A left join Table_B on Table_A.ID=Table_B.ID and Table_B.ID is null
或者:
select Table_A.ID,Table_A.name from Table_A left join Table_B on Table_A.ID=Table_B.ID where Table_B.ID is null
经试用,效果立竿见影。

转载于:https://www.cnblogs.com/s648667069/p/8663096.html

你可能感兴趣的文章
python带cookie登录
查看>>
想念你 2012-10-24 23:27
查看>>
MVC解决Json DataGrid返回的日期格式是/Date(20130450000365)
查看>>
ojective-C学习笔记(7)Foundation框架
查看>>
CDH5.14.0 安装失败,无法接受agent发出的检测信号
查看>>
CSS Reset的相关概念及实例
查看>>
数据库
查看>>
iOS开发UI篇—UIScrollView控件实现图片缩放功能
查看>>
如何制作富文本框
查看>>
第十节:Web爬虫之数据存储与MySQL8.0数据库安装和数据插入
查看>>
mysql主从复制与主主复制
查看>>
常用日期格式符(表格)
查看>>
Xcode CoreData 存储报错问题。
查看>>
学习Jammendo代码的心路历程(二)ViewFlipper数据的填充
查看>>
Quality in the Test Automation Review Process and Design Review Template
查看>>
高亮显示搜索的关键词(二)
查看>>
2. 知识图谱-命名实体识别(NER)详解
查看>>
344. Reverse String
查看>>
JAVA-初步认识-第四章-其他流程控制语句
查看>>
shell脚本中执行python脚本并接收其返回值的例子
查看>>