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版本及以上版本支持此语法

相关推荐
睡睡怪2 小时前
Mysql入门
数据库·mysql·oracle
快来卷java19 小时前
MySQL篇(六)MySQL 分库分表:应对数据增长挑战的有效策略
数据库·mysql·oracle
TDengine (老段)2 天前
TDengine 中的视图
数据库·物联网·oracle·时序数据库·tdengine·iotdb
tjfsuxyy2 天前
SqlServer整库迁移至Oracle
数据库·oracle·sqlserver
Hoxy.R2 天前
什么是 CSSD?
服务器·开发语言·oracle
Qi妙代码3 天前
MYSQL基础
数据库·mysql·oracle
Arbori_262153 天前
Oracle中的UNION原理
数据库·oracle
WannaRunning4 天前
浅谈Tomcat数据源连接池
java·oracle·tomcat