多谢关注问题:我用oracle插入一亿二千万条数据到一个表中,7个多小时过去了还没有完成。
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了多谢关注问题:我用oracle插入一亿二千万条数据到一个表中,7个多小时过去了还没有完成。相关的知识,希望对你有一定的参考价值。
系统的CPU使用率只有50%浮动, 怎么来设置这个oracle进程使用机器上的这些全部资源。
环境:win7 , oracle11g
不过这个要看你用的什么方法插入的数据。
应该不是insert into values 把?
全部资源肯定不可能的。因为oracle运行的时候不仅仅使用cpu,还有内存和硬盘。一般来说IO出现瓶颈的可能比较大。
另外可以用nologging+append的方式来加速插入。 参考技术A 很正常 我曾经导入一个3千多万记录到数据库中,下班开始导入。第二天上班再看。当时花了4个来小时。
你最好也下班开始插入,明天再过来看吧。 参考技术B 你的想法就是错误的,耗用机器全部资源?ORACLE日志空间有多大啊?1E的数据...建议分批插入,或者分类插入的!机器能行,数据库日志也给你挤爆的。追问
我是希望运行快点就行。 ORACLE日志空间是不是看那个log后缀名的文件大小
追答分批量插入的,1E的数据不可能快的!如果日志空间够大的话,数据是能够插入的,只是时间问题的,如果日至空间不够大,到时候给你报个日至空间满的!
每写入一行记录都会记录日志,1E的数据你想想吧!你是insert呢还是load呢?
是insert语句。
追答建议:
insert into 表
select * from 表 where ....加条件的!
如何向一个oracle表中快速插入很多条数据
Oracle数据的批量插入前两天接到一个需求——需要编程将SQL Server中的数据插入至Oracle。数据大约有20多万条记录。开始的时候我采取了直接构建SQL插入的方式,结果耗时太长。为了提高性能我上网找了资料。最终采用DataAdapter批量插入至Oracle,提高了性能。
代码如下:
一,直接构建SQL语句插入
VB.NET Code
二,采用DataAdapter实现批量插入
VB.NET Code
在我的环境中批量插入24万笔记录用时大约260s左右。
貌似SQL Server中.net驱动程序提供了SqlBulkCopy类来提高大量数据导入的性能。有需要的朋友可以查下MSDN。 参考技术A 可以同时把很多条不同的数据插入到oracle表中
以上是关于多谢关注问题:我用oracle插入一亿二千万条数据到一个表中,7个多小时过去了还没有完成。的主要内容,如果未能解决你的问题,请参考以下文章