Java中的速度更快:DB2 INSERT / SELECT或文件写/读

时间:2013-02-05 06:04:46

标签: java multithreading db2

在处理应用程序时,解析大量文本文件(例如4000个文件);发现使用JDBC作为INSERT / SELECT Prepared Statements将解析后的数据存储/读取到DB2中的时间延迟。 (仅供参考:使用单独的线程来解析数据,然后将日期设置为另一个线程以保存到DB2中)。

我可以使用文件写入/读取机制来解析数据,而不是DB2交互吗?会比它快吗?

  

如果文件处理速度更快,那么需要使用哪种机制:   简单文件写入/读取或对象写入/读取?

3 个答案:

答案 0 :(得分:2)

如果使用得当,简单文件读/写应该更快,即如果数据以大块传输。

另外,请考虑使用memory-mapped files

答案 1 :(得分:1)

这取决于您想要读/写的数据范围。读取一个巨大的文件有其自己的开销。如果source是一个小文件,你很明显可以快速读取它,因为解析开销很低。但是如果文件由复杂的结构组成,那么RDBMS或数据库可能是一个可行的选择。

另一种选择是您可能希望查看要读取和写入的数据的自动性,一致性,隔离性和持久性(ACID)。

答案 2 :(得分:1)

您是否考虑过使用Java中的DB2 LOAD。插入速度非常快,您可以使用光标进行选择,也可以从文件中插入。

但是,将数据插入/加载到数据库中与写入文件完全不同。你想做什么?