sql关联查询更新速度慢的问题

本文探讨了SQL关联查询更新速度慢的问题,并提供了一种优化方案。通过对比两种不同的SQL语句,展示了一种循环更新的方式相较于直接的子查询更新,能够显著提高效率,特别是在大量数据的情况下。以1000条数据为例,优化后的SQL语句执行时间从27秒减少到0.062秒。

 

原语句

update B b
set b.fid =
(select f.id from F f where f.bid = b.id) ;

可以考虑用

begin

  for f in (select f.id,f.bid from F f) loop

    update B set b.fid=f.id where b.id=f.bid;

  end loop;

end;

这样时间可以省略跟多倍  已1000条数据为例  第一条sql语句需要 27s  第二种 只需要 0.062s ;

参考文章:http://www.yyjjssnn.cn/articles/765.html

 

posted on 2019-07-08 12:43  smile_elims 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/liangbo-/p/11150485.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值