Oracle在插入大量数据时速度会越来越慢,请问有什么解决办法?? 急~~~~

king827 2004-09-17 09:44:12
如题!!!
我现在要做一个项目要用程序从原系统数据库中读取数据导入到Oracle中,估计有100万条数据,在导入的前1万条速度非常快,不过越往后速度就越慢,导到3万条时几乎时一秒才进一条,有时还会死掉,到底是什么原因呢??
请各位高手帮帮忙!!!
...全文
1816 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhuiqiu668 2010-06-18
  • 打赏
  • 举报
回复
请问这个问题你是怎么解决的?
king827 2004-09-21
  • 打赏
  • 举报
回复
感谢各位的帮忙,问题解决了
散分!!
凌渡虚 2004-09-18
  • 打赏
  • 举报
回复
同意yown(yong) ,怀疑是你建非主KEY字段的索引太多了或者是有约束,这些都非常影响数据库的插入。
yown 2004-09-18
  • 打赏
  • 举报
回复
还有一些约束也先disable,导完后再改回来:)
yown 2004-09-18
  • 打赏
  • 举报
回复
如果表定义了索引,最好先停用
使用大的回滚段,分期提交
king827 2004-09-17
  • 打赏
  • 举报
回复
up
king827 2004-09-17
  • 打赏
  • 举报
回复
我已经设定不写日志了

同时问一下回滚段怎样设置???
enhydraboy 2004-09-17
  • 打赏
  • 举报
回复
一条条commit,但是会写数据库日志啊。这也会成为一个瓶颈。
king827 2004-09-17
  • 打赏
  • 举报
回复
新表和旧表的结构有点不同的!!

我确定那些数据都提交了,表的数据量一直在增加。
enhydraboy 2004-09-17
  • 打赏
  • 举报
回复
1 回滚段开大点
2 采用批量导入的方法,sql*loader,有并行方式,同时可以不写日志,但是做完以后,需要马上做备份。
drabit 2004-09-17
  • 打赏
  • 举报
回复
你确信你提交了数据吗?一条条commit不应该出现你说的这种现象
freddy2003 2004-09-17
  • 打赏
  • 举报
回复
用SQL Server中的DTS工具
wanweiqun 2004-09-17
  • 打赏
  • 举报
回复
可以考虑PB的管道来做,稳定,平均速度是每秒100-200条,不会因为数据量的增加变慢。不好的地方是必须表结构一样,所以要做一些处理。
king827 2004-09-17
  • 打赏
  • 举报
回复
>>>>> 单条单条倒入效率很低,而且你每条都commit,那就不是写的问题,是读数据慢

不是读的问题,读的速度很快,我是一次性读入一万条在内存,然后再从内存中读出来插入数据库的

我也试过用批插入了,还是会出现这种情况,

而且oracle的共享池和高速缓存我也分别设定为300M和100M了
ks9960 2004-09-17
  • 打赏
  • 举报
回复
不知道可不可以先导出为文本,然后用sqlloader导入了?
jack_4826 2004-09-17
  • 打赏
  • 举报
回复
每1000条commit
ligenlee 2004-09-17
  • 打赏
  • 举报
回复
>>>我那里已经每导入一条都commit一次了

不能使用批插入吗?
drabit 2004-09-17
  • 打赏
  • 举报
回复
单条单条倒入效率很低,而且你每条都commit,那就不是写的问题,是读数据慢
king827 2004-09-17
  • 打赏
  • 举报
回复
我那里已经每导入一条都commit一次了,结果还是这样,而且我原来那个系统也是用oracle的
bzszp 2004-09-17
  • 打赏
  • 举报
回复
比如每导入5000行,commit一次
多写了一个0
:)
加载更多回复(5)

17,139

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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