通过dblink读取另一个数据库的数据插入到本地表,速度慢!!!!!!!!!!!

smile_wu 2007-09-06 02:31:22
通过dblink读取另一个数据库的数据插入到本地表,速度慢,而且每次只是读取一条数据插入本地,然后commit
插入的数据有个字段是blob类型,每一条记录大概20k
网络正常
sql语句大概如下:
insert into local_table
select * from remote_table@dblink where key_column=value
...全文
595 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
kinglht 2007-09-07
  • 打赏
  • 举报
回复
先建到本地临时表
create table tmp as
select * from remote_table@dblink where key_column=value;

insert into local
select * from tmp;
christophe 2007-09-06
  • 打赏
  • 举报
回复
使用forall insert 操作.
smile_wu 2007-09-06
  • 打赏
  • 举报
回复
是局域网内的两台数据库,每insert一条需要1-4秒,有什么优化的办法吗?
smile_wu 2007-09-06
  • 打赏
  • 举报
回复
我这里的业务流程不能批量提交。
bjt_ 2007-09-06
  • 打赏
  • 举报
回复
通过网络肯定比本地慢,建议批量操作,如
insert into local_table
select * from remote_table@dblink where key_column in (....);
应该会快不少.

17,377

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 基础和管理
社区管理员
  • 基础和管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧