【Oracle】Oracle的批量插入语法浅谈


对于大数据量插入Oracle数据库的场合,可以采用批量插入语法。

比如有一个emp表,有id,name,age三个字段,

其单条插入语法是:insert into emp(id,name,age) values('1','andy','25')

其批量插入语法是

insert all

      into emp(id,name,age) values('1','andy','25')

      into emp(id,name,age) values('2','bill','35')

      into emp(id,name,age) values('3','cindy','45')

      into emp(id,name,age) values('4','douglas','55')

select 1 from dual

中间的into部分可以用循环写成,能包括多少句和服务器性能有关,比如我的T14、T440p的11g只接受200句上下,单位的19c服务器能接纳2000句。

插入效率也不是越多越好,经实验,单位机上以1000条左右插入,百万条耗时约9分钟,这种插入效率最高。

批量插入时有时会有ora-00905异常出现,但对数据没影响。个人以为可以ignore。

END

相关