Java多线程并发操作数据库能否提高运行速度。

我做的这个项目,用dom4j将XML中包含的数据放入数据库中。因为数据量大(大约10w条数据)运行时间非常长。请问诸位大神,通过利用多线程并发读取的方式是不是可以加快运行速度啊?
我这样的一个方式速度限制的瓶颈在那个方面是硬盘的IO吗(如果是的话,貌似多线程改进就没有太大效果)?

PS: 我的电脑很也比较老,估计是运行较慢的一个原因。。。

优化建议:
1. 在你的代码里大点评测下 每个操作花的时间. 譬如 dom4j解析花了多久, 存储到数据库花了多久等等.
2. 评测哪些地方可以并行操作以提高CPU利用率;
3. 数据库操作部分也可以做适当优化, 譬如批量提交可以显著提高插入速度, 譬如去除索引/主键后插入等;
4. 不同机器的IO速度是不同的, 因此应该能提供运行时的任务调度参数化, 譬如多少个dom4j解析线程, 入库的批量数量等;
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-05
如果xml很大的话,建议用sax,如果只是10万数据的应该如DB不会很慢的。
可以通过打印日志来观察运行的时间,可以在某个地方打印下时间。

另外使用多线程的话肯定会提高运行效率,看你程序怎么设计啦。

如果不介意可以把你主要代码粘出来给你看看,特别是操作DB的代码