delete records in table A not in table B
2024-08-28 00:33:56
转)A、B两表,找出ID字段中,存在A表,但是不存在B表的数据。A表总共13w数据,去重后大约3W条数据,B表有2W条数据,且B表的ID字段有索引。
方法一
使用 not in ,容易理解,效率低 ~执行时间为:1.395秒~
1 select distinct A.ID from A where A.ID not in (select ID from B)
方法二
使用 left join...on... , "B.ID isnull" 表示左连接之后在B.ID 字段为 null的记录 ~执行时间:0.739秒~
1 select A.ID from A left join B on A.ID=B.ID where B.ID is null
图解
方法三
逻辑相对复杂,但是速度最快 ~执行时间: 0.570秒~(感觉这种方式挺好)之前A/B表位置写反了,很明显可以看出为问题所在
,在碰到问题可以分一下
1 select * from A
2 where (select count(1) as num from B where A.ID = B.ID) = 0
最新文章
- java十进制转十六进制
- 51nod p1201 整数划分
- nginx 重写 rewrite 基础及实例
- <;a>;标签href属性与onclick事件
- 关于迭代器中IEnumerable与IEnumerator的区别
- 网络传输速度bps与下载文件所需时间的换算
- eclipse 启动tomcat报Spring错误 Error creating bean with name &#39;serviceOrderBiz&#39;: Injection of autowired dependencies failed
- 字体在Android View中的输出 drawText
- setInterval(code, time)中code传递参数办法
- 最近纠结致死的一个java报错java.net.SocketException: Connection reset 终于得到解决
- CodeForces 711B Chris and Magic Square
- 如何查看sql server端口号
- 一个Windows下线程池的实现(C++)
- java和c#值类型和引用类型
- 3.2《想成为黑客,不知道这些命令行可不行》(Learn Enough Command Line to Be Dangerous)——检查文件开始与结尾
- npm和yarn
- C# - 反射与编译
- 数据准备<;4>;:变量筛选-理论篇
- Jquery解析Json格式数据
- PreparedStatement的execute误解