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

  • 相关阅读:
    Objective-C中的Block回调模式
    [LINUX-02]linux内存管理
    Linux设备模型(8)_platform设备
    Face Alignment
    dlib 人脸识别论文 One Millisecond Face Alignment with an Ensemble of Regression Trees
    linux内核函数kmap_atomic用法
    [LINUX-01]对比LINUX和CORTEX-M启动流程
    -02-建立PetaLinux工程
    linux内核启动流程(文章最后流程图)
    uboot笔记:uboot命令分析+实现
  • 原文地址:https://www.cnblogs.com/yy3b2007com/p/8323363.html
Copyright © 2011-2022 走看看