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

相关推荐
懒羊羊不懒@5 小时前
【MySQL | 基础】通用语法及SQL分类
数据库·oracle
llxxyy卢5 小时前
基于时间的 SQL 盲注-延时判断和基于布尔的 SQL 盲注
数据库·sql·oracle
記億揺晃着的那天14 小时前
数据库中 ACID 四个核心特性
数据库·mysql·oracle·系统设计·acid
切糕师学AI1 天前
SQL中的函数索引/表达式索引
数据库·sql·mysql·postgresql·oracle
Leon-Ning Liu1 天前
Oracle数据库常用视图:dba_datapump_jobs
数据库·oracle·dba
数据库生产实战1 天前
Oracle 19C RAC下TRUNCATE TABLE的REUSE STORAGE选项作用和风险浅析!
数据库·oracle
小白银子1 天前
零基础从头教学Linux(Day 60)
linux·数据库·mysql·oracle
wangjialelele1 天前
MySQL操作库
数据库·mysql·oracle
Koma-forever1 天前
Oracle SQL Developer设置打开表的时候如何是新窗口中打开
数据库·sql·oracle
馨谙1 天前
SELinux 文件上下文管理详解:从基础到实战
jvm·数据库·oracle