从表中获取数据插入,怎样做效率更好?

在DB2中需要更新一个表,更新的方式是从某个表中获取数据插入,然后再从其他表中获取其他字段来更新其他字段,如下:
比如 insert A(a1,aa2,a3) from select b1,b2,b3 from B;
       update A(a4,a5) select c1,c2 from C where a1 = C.c3
       update A(a6,a7)select d1,d2 from D where a1 = D.c3
       update A(a8,a9)select e1,e2 from E where a1 = E.e3
怎样做效率更好?用上述的方法效率很慢,请帮助给分析一下,谢谢!
参与5

3 同行回答

mdkii mdkii 软件开发工程师 bocn
看起来另一个可选方法是:把C,D,E 表关联起来,然后用merge去更新A表。显示全部
看起来另一个可选方法是:
把C,D,E 表关联起来,然后用merge去更新A表。 收起
银行 · 2015-06-25
浏览1004
richard_macy richard_macy 数据库管理员 macys
可不可能写成一个 大的QUERY 去做呢?你这么做看起来很清楚,但是对 A 表要 多次扫描,效率不是最好。显示全部
可不可能写成一个 大的QUERY 去做呢?
你这么做看起来很清楚,但是对 A 表要 多次扫描,效率不是最好。 收起
零售/批发 · 2015-06-24
浏览917
吕一 吕一 软件开发工程师 新宇联安
首先,得看你这个插入操作的方式,我觉得有两种,一种是通过程序处理,在程序里处理的话,查询了B,C,D,E这几个表的数据后,然后组装数据进行一个批量提交;第二种你直接执行sql语句,就像你上边写的那样,不过将B,C,D,E这几个表关联起来,就像楼上说的那样,最后去插入数据...显示全部
首先,得看你这个插入操作的方式,我觉得有两种,一种是通过程序处理,在程序里处理的话,查询了B,C,D,E这几个表的数据后,然后组装数据进行一个批量提交;第二种你直接执行sql语句,就像你上边写的那样,不过将B,C,D,E这几个表关联起来,就像楼上说的那样,最后去插入数据 收起
软件开发 · 2015-06-25
浏览957

提问者

zhangsharp20
zhangsharp20 0 0 4
数据库运维工程师 外管
擅长领域: 数据库服务器系统管理
评论640

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2015-06-24
  • 关注会员:0 人
  • 问题浏览:2335
  • 最近回答:2015-06-25
  • X社区推广