zoukankan      html  css  js  c++  java
  • oracle:批量插入不同方案对比

    实时测试的速度:

    --48466条数据

    --1.297

    inline view更新法

    inline view更新法就是更新一个临时建立的视图

    update (select a.join_stateas join_state_a,b.join_stateas join_state_b

    from t_join_situation a, t_people_info b where a.people_number=b.people_number

    and a.year='2011' and a.city_number='M00000' and a.town_number='M51000'

    ) set join_state_a=join_state_b

     括号里通过关联两表建立一个视图,set中设置好更新的字段。这个解决方法比写法较直观且执行速度快。但表B的主键一定要在where条件中,并且是以“=”来关联被更新表,否则报错误

    --7.156

    update  t_join_situation aset a.join_state=(select b.join_statefrom t_people_info b

    where a.people_number=b.people_number

    and a.year='2011' and a.city_number='M00000' and a.town_number='M51000')

    where exists (select 1 from t_people_info b

    where a.people_number=b.people_number

    and a.year='2011' and a.city_number='M00000' and a.town_number='M51000')

    --3.281

    begin

    for crin (select a.rowid,b.join_statefrom t_join_situation a,t_people_info b

    where a.people_number=b.people_number

    and a.year='2011' and a.city_number='M00000' and a.town_number='M51000')loop

    update t_join_situationset join_state=cr.join_statewhere

    rowid = cr.rowid;

    end loop;

    end;

    --1.641

    merge into t_join_situation a

    using  t_people_info b

    on (a.people_number=b.people_number

    and  a.year='2011' and a.city_number='M00000' and a.town_number='M51000')

    when matched then update set a.join_state=b.join_state

  • 相关阅读:
    spring 04-Spring框架依赖注入基本使用
    spring 03-Spring开发框架之控制反转
    spring 02-Maven搭建Spring开发环境
    spring 01-Spring开发框架简介
    JVM堆内存、方法区和栈内存的关系
    jvm 07-java引用类型
    jvm 06-G1收集器
    jvm 05-JVM垃圾收集策略
    jvm 04-JVM堆内存划分
    CSS书写顺序
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/8323363.html
Copyright © 2011-2022 走看看