解决方案 »
- j2ee 牛人来帮忙 新手来学习
- hibernate可以用配置文件反向生成数据库 那ibatis可不可以通过配置文件生成数据库??
- java多线程问题!!给我看看这个程序!
- 谁能给个基于注解的SpringMVC的工程
- 如何在Java EE中把数据导出成txt、Excel、doc、chm格式的文件
- 跪求高手来解决问题
- struts2的怪错误
- 哪能位大侠给个,STRUTS的分页,和上传文件到目录,的实际的例子
- 请指点小弟吧!!!!
- 如何将自己用手写(用记事本)的EJB文件(home,remote,ejb三个文件)加入到jb中?(注意jb中已有一个ejb工程)
- <c:foreach>第一项老出问题
- java基本集合问题
谢谢
2、创建sqlload文件1。
3、读取数据文件,循环每行数据,写入sqlload文件。
4、判断100W行时,创建线程(执行命令导入sqlload文件1到数据库,并记录日志)。
5、创建sqlload文件2。
6、继续读取数据文件
7、
table1(表一对象) new table2(表2对象)
table2.set字段(table1.相应字段)
...save(table2);
插入速度應該 沒什么問題!
大数据的入库,数据库写操作是瓶颈。如果能接受数据insert进行JDBC操作的效率。
那一般的生产者,消费者模式就足够了。
建立队列,线程A从文本中bufferedreader的readline读每条数据,放入队列集合中,
线程B隔一定周期从队列集合中取出所有数据进行批量insert,并清空队列(注意队列集合的同步,如果考虑同步影响一定的效率,可以考虑建2个队列切换使用)。
让文本读操作和数据库写操作同时进行。如果需求不能接受jdbc执行insert的效率。可以使用数据库导入组件,或者sqlload.
bufferedreader的readline读文本生成数据文件,用imp或者sqlload直接导入数据库