大数据导入问题

07-05-20 aaaajl
最近一直在做个etl工具,基本过程是这样的,先从数据库中查出数据,然后循环使用getstring来获得每个单元的信息,把获得的字符串,和分隔符加入到stringbuffer中(stringbuffer已经根据分批导入的大小进行了设定),最后导入到一个特定的文件格式中(我公司自己创建的一种数据文件格式)。
这样做的效果大约是每1千万条(6个字段)数据导入需要1小时20分钟。经过测试发现主要的时间损失是在通过getstring取数据这部分消耗的,1千万条(6个字段)需要运行6千万次,有没有什么能提高getstring速度的方法,或者有什么更好的方式来实现这种需求

cscs31
2007-06-15 13:52
我觉得,这个问题,你的6000万次没法避免,因为你的数据库就有那么多的字段和数据,但是如果你的这种操作对内存要求不高的话,你可以使用多线程技术,我以前做的时候是用多线程实现的,但是这么做对内存要求高,需要将JVM的内存设置大一点,感觉是内存空间换时间的做法,不知道你解决了吗?