首页 > 所有任务 > 开发 > 技术服务 > 数据库设计 > 任务详情

雇佣¥100元

oracle数据库存储过程优化问题

已支付赏金 圆满完成

任务编号:579338 联系Ta

yecaowulei

2018-01-31

有个存储过程,入参为表名,存储过程里通过dblink将表数据从远程库insert到本库的表里,数据为空间数据,本来是想使用以下这种写法:


  OPEN mycur;
  LOOP
    FETCH mycur BULK COLLECT INTO rowid_table LIMIT 5000;
    EXIT WHEN rowid_ = 0;
    FORALL i IN rowid_ .. rowid_ />           INSERT INTO xxxx s elect * f rom xxxx WHERE ROWID=rowid_table(i);
    COMMIT;
  END LOOP;
  CLOSE mycur;
这种写法可以批量insert到多条数据,但是后来发现这种写法不支持insert到远程库的数据,所以改成了FOR i IN rowid_ .. rowid_然后一条条将数据insert进去,这样的话就会非常慢,想优化下。现在使用的存储过程语句见附件

数据库设计人才更多>
广东起搏网络科技有限公司 广东起搏网络科技有限公司 璟滔文化 璟滔文化 汇付信息科技(深圳)有限公司 汇付信息科技(深圳)有限公司 云趣纵横 云趣纵横
数据库设计任务更多>
小型数据开发设计 mysql5.7功能实现