sqlldr 导入大数据量数据

最近在处理一些数据,数据量比较大的数据,记录下使用方法和过程,以备日后查看
如果使用insert插入超过1000条时间就有点长了(5、6分钟)
使用plsql的text import 导入8万条耐心等一会也可以忍受,
但是我们要处理的是500万条数据,尝试了几种方法,最后选择了sqlldr
首先会有一个数据文件,这个数据文件是文本型的 txt\csv\nul\del都没关系,只要内容遵循一定规则,比如逗号分割和定长
在数据库中新建一个存放这些数据的表
如:
create table users(
user_id number,             --用户 ID
user_name varchar2(50),     --用户名
login_times number,         --登陆次数
last_login              date--最后登录日期
);
在其中插入任意条数据,然后通过plsql导出为csv文件:users_data.csv
建立一个控制文件 users.ctl,内容如下:
---文件开始
OPTIONS (skip=1,rows=128) -- sqlldr 命令显示的选项可以写到这里边来,skip=1 用来跳过数据中的第一行,如果没有参数此行可去掉
LOAD DATA  INFILE    "/home/users_data.csv" --指定外部数据文件,可以写多个 INFILE "
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值