如题:
一大堆文件夹,文件夹里还有文件夹,里面有.txt文本文件,数据存在文本文件里,现在要将数据导入到oracle 9i 中,要求插入的数据不能重复,(假设只有一个字段username),用b/s做 还要做进度条现在的问题是:
一 文件夹里的文件多,如何加快读取?
二 插入数据很慢(唯一性判断),如何解决?打算建的表():
create table users
(
username varchar2(100),
primary key(username)
)有没有好的解决方案呢?
一大堆文件夹,文件夹里还有文件夹,里面有.txt文本文件,数据存在文本文件里,现在要将数据导入到oracle 9i 中,要求插入的数据不能重复,(假设只有一个字段username),用b/s做 还要做进度条现在的问题是:
一 文件夹里的文件多,如何加快读取?
二 插入数据很慢(唯一性判断),如何解决?打算建的表():
create table users
(
username varchar2(100),
primary key(username)
)有没有好的解决方案呢?
一:读取文件夹的文件用多线程读取
二:数据插入分两种方法:
1 users表不设主键,首先不管三七二十一,先全部插入进数据库中,然后去除掉重复的数据
2 将users表的username设为主键,不管三七二十一,都执行插入操作,即使重复也没关系,反正插入不会成功
最好用多线程防止程序无响应
知道记录总数,做进度条就很容易了
這個貌似不是很理想吧...讀入一定的數量,再Insert...
这么大的数据量我没有试过,文本文件将近2G,将近有2000个文本文件,我想读取每一个文本文件我就开一个线程,不知道普通的电脑受不受得了
进度条我已经做好了
for (int i = 0; i < 100000000;i++ )
{
hb.Add(i, i);
}
我电脑的内存是2G,运行后发现卡住了,任务管理器一看内存消耗2.5G以上,赶忙关掉进程
卡了半天才回过神来。。
首先,根据文件名建立同义词
然后,将文本文件整理到一个文件夹下
最后,我的可以给你一个工具,进行导入
你可以联系我,通过我的mail