本帖最后由 xymfeng 于 2012-03-15 17:48:33 编辑

解决方案 »

  1.   

    数据在一个文件内,现在要用java读取这个文件,并把其中的数据插入到本地数据库的表里面
    谢谢
      

  2.   

    1、加载数据文件
    2、创建sqlload文件1。
    3、读取数据文件,循环每行数据,写入sqlload文件。
    4、判断100W行时,创建线程(执行命令导入sqlload文件1到数据库,并记录日志)。
    5、创建sqlload文件2。
    6、继续读取数据文件
    7、
      

  3.   

    用bufferedreader的readline读每一行,然后用split(";")取每列数据?
      

  4.   

    怎么理解了...读出来转换成对象,保存到另一张表不就行了     
    table1(表一对象)   new table2(表2对象)
    table2.set字段(table1.相应字段) 
    ...save(table2);
      

  5.   

    我之前用過bufferReader讀過900M的文本文件,也是要拆分的,讀取30秒左右,關鍵是設置buffer大小,
    插入速度應該 沒什么問題!
      

  6.   

    10W数据
    大数据的入库,数据库写操作是瓶颈。如果能接受数据insert进行JDBC操作的效率。
    那一般的生产者,消费者模式就足够了。
    建立队列,线程A从文本中bufferedreader的readline读每条数据,放入队列集合中,
    线程B隔一定周期从队列集合中取出所有数据进行批量insert,并清空队列(注意队列集合的同步,如果考虑同步影响一定的效率,可以考虑建2个队列切换使用)。
    让文本读操作和数据库写操作同时进行。如果需求不能接受jdbc执行insert的效率。可以使用数据库导入组件,或者sqlload.
    bufferedreader的readline读文本生成数据文件,用imp或者sqlload直接导入数据库