oracle一次插入多条数据

 
insert into 表名(字段1,字段2) 
select '','' from dual         
union all                                 
select '','' from dual         
union all                                 
select '','' from dual         
union all                                 
select '','' from dual         
union all                                 
select '','' from dual     
 
从一个CSV文件中读取所有的数据,并且插入到一个Oracle 数据库中,并且几分钟内完成,大约有60万条。 
   
现在给大家介绍一个小技巧,话说在Oracle里有一个很奇特的“表”,名叫Dual。 
首先, select '1' from dual ,结果返回1。 
其次,
select '1' from dual 
union 
select '2' from dual 
 结果是 
1 
2 
如果这样, 
insert into 表名 (字段1) 
     select '1' from dual 
     union 
     select '2' from dual 
这一次就插入了两条数据。当然,如果全字段插入 那个(字段1)还可以省略掉。 
最后的实践证明,如果循环60万次Insert,一个小时也执行不完(当然有可能是机器太烂),而拼成1000条Select再插入一次,插入60万条的时间是20分钟,而拼成5000条Select再Insert一次,插入60万条数据的时间是12分钟。
 

转载于:https://www.cnblogs.com/shiysin/p/11303798.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值