81,091
社区成员
发帖
与我相关
我的任务
分享
我认为效率高点的还是格式化一下txt中的数据。。直接将txt的数据通过oracle命令映射插入表。。。
你那么多文件。。数据量那么大。。在应用中,无论怎么优化。。都没有直接使用命令行效率高。。直接和oracle性能挂钩。。少一个环节。。。
具体做法:例子:
1. 创建测试表
create table test_import
(
id int primary key,
name varchar2(50),
age int,
test_null varchar2(20),
remark varchar2(100)
);
2. 创建imTable.ctl文件
load data infile 'f:/test.txt' append into table test_import
trailing nullcols
(
id terminated by ',', --字段
name terminated by ',', --字段
age terminated by ',', --字段
remark terminated by ',' --字段
);
3. 创建test.txt文件
test.txt
1,t1,20,第一个测试
2,t2,25,第二个测试
3,t3,22,第三个测试
4,t4,30,第四个测试
5,t5,28,第五个测试
6,t6,23,第六个测试
4. sqlplus中sql导入语句
sqlldr 用户/密码@数据库实例名 control='f:/imTable.ctl' log='f:/log.txt' bad='f:/bad.txt'
5. 完成。。查看日志log.txt..