梦幻之旅

DEBUG - 天道酬勤

   :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  671 随笔 :: 6 文章 :: 256 评论 :: 0 Trackbacks

最近做短信群发项目有一个需求,需要客户大批量(十万级)导入数据.
开始是用insert单条数据,10万条数据要20分钟
后来发现可以用insert all 一条sql一次导入500条记录,这样10万条数据只用了1.5分钟,导入速度提高了近来20倍
下面就使用insert all的心得体会记录如下.
使用方法:
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版本及以上版本支持此语法
  

posted on 2008-06-28 12:03 HUIKK 阅读(3864) 评论(1)  编辑  收藏 所属分类: DataBase

评论

# re: Oracle 高速批量速插入数据 解决方案 2008-09-26 16:05 yuxuan
有这样的功能吗

真的不错啊  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: