专注收集记录技术开发学习笔记、技术难点、解决方案
网站信息搜索 >> 请输入关键词:
您当前的位置: 首页 > Oracle管理

Oracle批量插入。解决思路

发布时间:2010-05-20 14:01:29 文章来源:www.iduyao.cn 采编人员:星星草
Oracle批量插入。
v_table 中有4个字段,有一个主键。

表为空是插入10W行要1分多钟,表越来越大,插入的时候也越来越久。

当表到1000W时,插入10W行要10多分钟,

使用 insert插入
有没有快速插入的方法 ?

如果使用下面这种方法插入时间更久。
XML文件2M左右。
数据行数在10W行。
解析XML只需几秒可完成。
但插入却非常久。

INSERT INTO v_table(interid)
       SELECT InterId FROM XMLTABLE('$B/root/i' PASSING
              XMLTYPE(xml) AS B
              COLUMNS InterId NVARCHAR2(48) PATH
          '/i/id');
------解决思路----------------------
insert /*+append*/ into table1 select * from table2
不写日志,直接插入
------解决思路----------------------
和redo没多大关系,append作用不大。做个10046,看看等待事件
------解决思路----------------------
开启oracle的 parallel功能:

alter session enable parallel dml;



引用:
v_table 中有4个字段,有一个主键。

表为空是插入10W行要1分多钟,表越来越大,插入的时候也越来越久。

当表到1000W时,插入10W行要10多分钟,

使用 insert插入
有没有快速插入的方法 ?

如果使用下面这种方法插入时间更久。
XML文件2M左右。
数据行数在10W行。
解析XML只需几秒可完成。
但插入却非常久。

INSERT INTO v_table(interid)
       SELECT InterId FROM XMLTABLE('$B/root/i' PASSING
              XMLTYPE(xml) AS B
              COLUMNS InterId NVARCHAR2(48) PATH
          '/i/id');
友情提示:
信息收集于互联网,如果您发现错误或造成侵权,请及时通知本站更正或删除,具体联系方式见页面底部联系我们,谢谢。

其他相似内容:

热门推荐: