社区
Oracle
帖子详情
Oracle在插入大量数据时速度会越来越慢,请问有什么解决办法?? 急~~~~
king827
2004-09-17 09:44:12
如题!!!
我现在要做一个项目要用程序从原系统数据库中读取数据导入到Oracle中,估计有100万条数据,在导入的前1万条速度非常快,不过越往后速度就越慢,导到3万条时几乎时一秒才进一条,有时还会死掉,到底是什么原因呢??
请各位高手帮帮忙!!!
...全文
1816
25
打赏
收藏
Oracle在插入大量数据时速度会越来越慢,请问有什么解决办法?? 急~~~~
如题!!! 我现在要做一个项目要用程序从原系统数据库中读取数据导入到Oracle中,估计有100万条数据,在导入的前1万条速度非常快,不过越往后速度就越慢,导到3万条时几乎时一秒才进一条,有时还会死掉,到底是什么原因呢?? 请各位高手帮帮忙!!!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用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)
oracle
大量
插入
数据
很
慢
,
大量
数据
插入
数据
库老
慢
老
慢
高手指点一下不 先谢了...
create or replace procedure impjfport(machineroom in varchar2)isv_jfidtemp_k_jfinfo.jfid%type;v_jfcol temp_k_jfinfo.jfcol%type;v_jfmktemp_k_jfinfo.jfmk%type;v_jfdztemp_k_jfinfo.jfdz%type;v_jfd...
oracle
数据
循环
插入
慢
,如何提高
oracle
的insert
速度
oracle
中insert语句的优化
Oracle
数据
库一次执行
大量
的insert语句,怎样优化原来表里有多少
数据
,考虑是否可以删除或失效索引?
插入
后重建在业务空闲
时
,利用APPEND和PARALLEL进行
插入
也可以设置每1W条记录进行提交如何提高
oracle
的insert
速度
一般来说,减少索引和约束(比如如果是唯一索引insert
时
会
进行验证,check也
会
验证),能提高一部分insert效率。 ...
JAVA
Oracle
插入
大量
数据
优化
关键代码在于在
插入
数据
之前,先把自动提交关闭,之后把
数据
全放进缓存之后,手动一次提交。在
数据
字段少的情况下,
插入
速度
很快在对于字段多达两百个的就
会
越来越
慢
,看下面的代码。
ORACLE
大批量
插入
数据
这种也是采用DML并发,适用于执行DML语句
慢
的应用场景。说明:这种方式只能按照串行的方式进行,如果有多个任务在同
时
进行,
会
导致进程等待,反而
会
影响传输的效率。但是源表的
数据
量是1亿的
数据
量,按照最普遍的方式 INSERT INTO 效率太低了。这种是采用INSERT 并发,适用于 查询快,
插入
慢
的场景。注: 这种模式其实跟第三种差不多,只不过这种是
会
话级别的。这种采用DML并发,适用于执行DML语句
慢
的应用场景。这种采用查询并发,适用于
插入
快,查询
慢
的应用场景。3.
插入
和查询PARALLEL。
Oracle
插入
很
慢
,性能优化排查方案(可能存在的问题-等待事件)
Oracle
插入
很
慢
,性能优化排查方案(可能存在的问题-等待事件)
Oracle
17,139
社区成员
55,260
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章