Oracle高速批量速插入数据解决方案

最近做短信群发项目有一个需求,需要客户大批量(十万级)导入数据.

开始是用insert单条数据,10万条数据要20分钟

后来发现可以用insert all 一条sql一次导入500条记录,这样10万条数据只用了1.5分钟,导入速度提高了近来20倍

下面就使用insert all的心得体会记录如下.

使用方法:

sql 复制代码
insert all into table_name(col_1,col_2) values (value_1,value_2)
           into table_name(col_1,col_2) values (value_1,value_2)
           into table_name(col_1,col_2) values (value_1,value_2)
           .........................................................................
           into table_name(col_1,col_2) values (value_1,value_2)
select 1 from dual

需要注意几点:

1.此sql语法上要求后面有select,在本例中,select 1 from dual其实是没有意义的,但必须加上,维护语法上的完整性.

2.所有列数不能超过1000,超过抛出异常

3.oracle 9i版本及以上版本支持此语法

相关推荐
水根LP491 小时前
linux系统上SQLPLUS的重“大”发现
数据库·oracle
littlegirll3 小时前
一个从oracle使用spool导出数据到kadb的脚本
数据库·oracle
geovindu3 小时前
CSharp: Oracle Stored Procedure query table
数据库·oracle·c#·.net
core5126 小时前
flink cdc各种数据库 jar下载地址
mysql·oracle·flink·jar·oceanbase·cdc
秀儿y10 小时前
Redis-十大数据类型
数据库·redis·缓存·oracle
Ahern_16 小时前
Oracle 普通表至分区表的分区交换
大数据·数据库·sql·oracle
2401_857600951 天前
技术与教育的融合:构建现代成绩管理系统
数据库·oracle
潇湘秦1 天前
一文了解Oracle数据库如何连接(1)
数据库·oracle
雅冰石1 天前
oracle怎样使用logmnr恢复误删除的数据
数据库·oracle
从以前1 天前
Berlandesk 注册系统算法实现与解析
数据库·oracle