Oracle高速导入CSV数据\高速导出sql数据

本文介绍了如何使用Oracle自带的SQL Loader高效导入CSV数据,4个varchar字段每秒可导入约20万条。当遇到错误时,错误数据会被存储在bad文件中,可通过调整字段长度并直接导入bad文件解决。此外,分享了使用sqluldr2工具快速导出大型报表,以及利用split命令切分大CSV文件以适应Excel导入。导出速度可达4秒100万条记录。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

说着是导入CSV,其实格式不定,文本也可以,只是导入数据几十个G的时候大多数都是用CSV来存的,所以就把名字写成了导入CSV。

 

这里说的是导入数据,之前我也写过导入库、表、schema等方式,对于外来的纯数据,没有怎么纪录过,所以这篇文章主要是针对数据的导入。

方式用Oracle自带的SQL loader。命令式sqlldr,这个工具是安装完Oracle就有的,不需要额外下载。效率有多快呢?我4个varchar的字段每秒差不多写入20万条吧。

 

注意,这种超快的导入方式是在服务器上执行的,所以需要相关权限,一般拿不到权限的就用PLsql吧,虽然相对SQL loader慢,不过对于小批量数据还是可以的

 

本次我导入的数据大小为25G.

环境:centos7

工具:SQL Loader

相关原理:官网文档

操作方法:1、需要定义好一个Oracle执行的脚本, .ctl结尾的文件

2、需要sqlldr 命令启动导入程序,程序会找到之前写的脚本按照脚本信息去处理

 

我的具体步骤:

1、把数据文件上传到服务器指定文件夹

2、写好导入配置脚本

3、启动命令

 

脚本格式:

OPTIONS (skip=1,rows=128) -- sqlldr 命令显示的选项可以写到这里边来,skip=1 用来跳过数据中的第一行,可以不写
LOAD DATA
INFILE "users_data.csv" --指定
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值