社区
Oracle
帖子详情
Oracle在插入大量数据时速度会越来越慢,请问有什么解决办法?? 急~~~~
king827
2004-09-17 09:44:12
如题!!!
我现在要做一个项目要用程序从原系统数据库中读取数据导入到Oracle中,估计有100万条数据,在导入的前1万条速度非常快,不过越往后速度就越慢,导到3万条时几乎时一秒才进一条,有时还会死掉,到底是什么原因呢??
请各位高手帮帮忙!!!
...全文
1939
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
高效
插入
数据
,
Oracle
:高效
插入
大量
数据
经验之谈
【IT168评论】在很多
时
候,我们
会
需要对一个表进行
插入
大量
的
数据
,并且希望在尽可能短的
时
间内完成该工作,这里,和大家分享下我平
时
在做
大量
数据
insert的一些经验。前提:在做insert
数据
之前,如果是非生产环境,请将表的索引和约束去掉,待insert完成后再建索引和约束。insertintotab1select*fromtab2;commit;这是最基础的insert语句,我们...
oracle
插入
大量
数据
优化方式
1. 使用绑定变量优化
插入
速度
未优化前代码如下 create table t(x int); create or replace procedure proc1 as begin for i in 1 .. 100000 loop execute immediate 'insert into t values('||i||')'; commit; end ...
oracle
数据
循环
插入
慢
,如何提高
oracle
的insert
速度
oracle
中insert语句的优化
Oracle
数据
库一次执行
大量
的insert语句,怎样优化原来表里有多少
数据
,考虑是否可以删除或失效索引?
插入
后重建在业务空闲
时
,利用APPEND和PARALLEL进行
插入
也可以设置每1W条记录进行提交如何提高
oracle
的insert
速度
一般来说,减少索引和约束(比如如果是唯一索引insert
时
会
进行验证,check也
会
验证),能提高一部分insert效率。 ...
Oracle
如何快速、
大量
的
插入
数据
测试说明: 创建一张表,5个字段,均是varchar(20) sql 中脚本格式均是INSERT INTO 表名称 VALUES (值1, 值2,....) sqlldr为
oracle
官方提供的导入工具,大家可自己搜索得知。 执行sql脚本的工具用的是
Oracle
的SQLDeveloper。 /////////////////////////////////////////////f
oracle
大量
数据
插入
优化
在学习
Oracle
中,我们使用SQL和ODBC链接进行
数据
插入
,单独
插入
少量
数据
时
,没有问题。但是在
插入
大量
数据
时
,就
会
出现异常,内存溢出错误。 如何解决在进行
大量
数据
插入
时
,java程序能够有效快速的进行
数据
处理。这就是
数据
库中性能优化的问题。 为什么要进行性能优化。 首先,在
大量
数据
处理中 一般常规的方式
会
造成程序处理效率和
时
间低下。达不到产品上线要求。 ...
Oracle
17,133
社区成员
55,258
社区内容
发帖
与我相关
我的任务
Oracle
Oracle开发相关技术讨论
复制链接
扫一扫
分享
社区描述
Oracle开发相关技术讨论
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章