db2 insert into select 的优化

一个insert into的select插入语句优化有哪些规则?
参与11

10同行回答

richard_macyrichard_macy数据库管理员macys
如果是数据量太大, 就不要用INSERTLOAD FROM CURSOR显示全部
如果是数据量太大, 就不要用INSERT
LOAD FROM CURSOR收起
零售/批发 · 2014-07-08
浏览1697
bhs19909bhs19909其它深客信息
就是一个插入语句   联合起来在插入数据量过大  造成日志过大有16.8g显示全部
就是一个插入语句   联合起来在插入数据量过大  造成日志过大有16.8g收起
IT其它 · 2014-07-08
浏览1663
db2_Duffdb2_Duff系统运维工程师icss
感觉语句中,没有没有太多加工的啊sql啊~显示全部
感觉语句中,没有没有太多加工的啊sql啊~收起
政府机关 · 2014-07-08
浏览1645
bhs19909bhs19909其它深客信息
没有了  这个sql是全部的内容   我也只知道这么多的显示全部
没有了  这个sql是全部的内容   我也只知道这么多的收起
IT其它 · 2014-07-08
浏览1666
zhangbojobszhangbojobs商业智能工程师银丰新融科技有限公司
回复 6# bhs19909 还是一个存储过程,一次调起,5次插入,你这个没有别的条件和内容了,除非看看全部相关内容,看看怎么改写。显示全部
回复 6# bhs19909
还是一个存储过程,一次调起,5次插入,你这个没有别的条件和内容了,除非看看全部相关内容,看看怎么改写。收起
软件开发 · 2014-07-08
浏览1638
bhs19909bhs19909其它深客信息
回复 5# zhangbojobs   是分5次插入吗显示全部
回复 5# zhangbojobs


  是分5次插入吗收起
IT其它 · 2014-07-08
浏览1723
zhangbojobszhangbojobs商业智能工程师银丰新融科技有限公司
回复 4# bhs19909 你把UNION ALL去掉,分开插入。你比较一下速度。:loveliness:显示全部
回复 4# bhs19909
你把UNION ALL去掉,分开插入。你比较一下速度。:loveliness:收起
软件开发 · 2014-07-08
浏览1702
bhs19909bhs19909其它深客信息
insert into MY_DW_CALL_CDR_201406    select tabcol_11 ,tabcol_12,tabcol_13,db2list.opp(opp_off)  as   opp_off,tabcol_15,tabcol_16,tabcol_17,tabcol_18,tabcol_19,tabcol_20,tabcol_21,tabcol_22,   tabcol_23,tabcol_...显示全部
insert into MY_DW_CALL_CDR_201406
   select tabcol_11 ,tabcol_12,tabcol_13,db2list.opp(opp_off)  as
   opp_off,tabcol_15,tabcol_16,tabcol_17,tabcol_18,tabcol_19,tabcol_20,tabcol_21,tabcol_22,
   tabcol_23,tabcol_24,tabcol_25,tabcol_26,tabcol_27,tabcol_28,tabcol_29,tabcol_30,
   tabcol_31 from tablename.call_20140601
     union all
     select tabcol_11,tabcol_12,tabcol_13,db2list.opp(opp_off) as
        opp_off,tabcol_15,tabcol_16,tabcol_17,tabcol_18,tabcol_19,tabcol_20,
        tabcol_21,tabcol_22,tabcol_23,tabcol_24,tabcol_25,tabcol_26,tabcol_27,
        tabcol_28,tabcol_29,tabcol_30,tabcol_31 from tablename.call_20140602
            union all  
                 select tabcol_11,tabcol_12,tabcol_13,db2list.opp(opp_off) as
                 opp_off,tabcol_15,tabcol_16,tabcol_17,tabcol_18,tabcol_19,tabcol_20,tabcol_21,
                 tabcol_22,tabcol_23,tabcol_24,tabcol_25,tabcol_26,tabcol_27,tabcol_28,tabcol_29,
                 tabcol_30,tabcol_31 from tablename.call_20140603
                    union all
                    select tabcol_11,tabcol_12,tabcol_13,
                    db2list.opp(opp_off) as opp_off,tabcol_15,tabcol_16,
                    tabcol_17,tabcol_18,tabcol_19,tabcol_20,tabcol_21,tabcol_22,tabcol_23,tabcol_24,tabcol_25,
                    tabcol_26,tabcol_27,tabcol_28,tabcol_29,tabcol_30,tabcol_31 from tablename.call_20140604
                          union all
                          select tabcol_11,tabcol_12,tabcol_13,db2list.opp(opp_off) as
                          opp_off,tabcol_15,tabcol_16,tabcol_17,tabcol_18,tabcol_19,tabcol_20,tabcol_21,
                          tabcol_22,tabcol_23,tabcol_24,tabcol_25,tabcol_26,tabcol_27,tabcol_28,tabcol_29,
                          tabcol_30,tabcol_31 from tablename.call_20140605

这个就是要优化的sql收起
IT其它 · 2014-07-08
浏览1815
最好给出具体的sql显示全部
最好给出具体的sql收起
证券 · 2014-07-08
浏览1709
zhangbojobszhangbojobs商业智能工程师银丰新融科技有限公司
你这说的太笼统了。也不一定非要用SQL/PL的角度优化。2个例子,希望帮到你。(1)比如把一个大表通过一系列的过滤变成小标放到临时表或者落地表,这样下次就不调用那个大表了,直接调用这个临时表或者落地表。(2)假如设计到了大量且重复的函数或者列与列的计算,从表设计的角度,可以把...显示全部
你这说的太笼统了。也不一定非要用SQL/PL的角度优化。2个例子,希望帮到你。
(1)比如把一个大表通过一系列的过滤变成小标放到临时表或者落地表,这样下次就不调用那个大表了,直接调用这个临时表或者落地表。
(2)假如设计到了大量且重复的函数或者列与列的计算,从表设计的角度,可以把这个抽取到表中变成生成列,或者类似的办法将处理好的函数结果放入谋个表中即可。这样直接调用了。
不需要一次性的写完一大段存储过程,分开写,这样以后好应对业务的修改,同时效率问题也好解决。收起
软件开发 · 2014-07-08
浏览1811

提问者

bhs19909
其它深客信息
擅长领域: 应用服务器服务器WAS

问题状态

  • 发布时间:2014-07-08
  • 关注会员:1 人
  • 问题浏览:11117
  • 最近回答:2014-07-08
  • X社区推广