instr 优化方法forall?

sinat_37562224 2018-01-10 12:56:09

update tmp_1 a set sfxz='是' where exists(select 1 from tmp_2 where instr(a.addr,b.addr_all)>0);
commit;

a,b表数据都是在二十万左右,因为执行很慢,被killed ,优化解决办法,说是使用 forall
...全文
588 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
zcs_zzh 2018-01-16
  • 打赏
  • 举报
回复
tmp_1和tmp_2只依靠instr(a.addr,b.addr_all)>0这个条件关联,可以产生的组合是20万乘以20万,就是400亿,这是无法出来结果的,增加一个两表关联的条件,减少关联的组合数量才可以。
hhfxl2009 2018-01-11
  • 打赏
  • 举报
回复
update tmp_1 set sfxz='是' where 主键 in (select a.主键 from tmp_1 a,tmp_2 b where instr(a.addr,b.addr_all)>0);

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧