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

相关推荐
layman05281 小时前
node.js 实战——mongoDB 续一
mongodb·oracle·node.js
消失在人海中1 小时前
使用exdp 备份数据库
数据库·oracle
猫头虎3 小时前
数据库中DDL、DML、DCL的区别是什么?
数据库·数据仓库·sql·oracle·database·时序数据库·big data
扫地生大鹏5 小时前
MYSQL-OCP官方课程学习截图
数据库·oracle
星途码客1 天前
SQL 易混易错知识点笔记1(drop,role,%,localhost)
数据库·sql·oracle
Byyyi耀2 天前
IDEA 连接 Oracle 数据库
oracle
学也不会2 天前
雪花算法
java·数据库·oracle
二胖_备份管理员2 天前
ORACLE数据库备份入门:第四部分:2-备份场景举例
数据库·oracle·备份·备份场景
Haoea!2 天前
java-mybatis01
java·数据库·oracle
爱的叹息2 天前
数据库sql执行报错:non-grouping field xxx is used in HAVING clause错误详解
数据库·sql·oracle