【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