在处理应用程序时,解析大量文本文件(例如4000个文件);发现使用JDBC作为INSERT / SELECT Prepared Statements将解析后的数据存储/读取到DB2中的时间延迟。 (仅供参考:使用单独的线程来解析数据,然后将日期设置为另一个线程以保存到DB2中)。
我可以使用文件写入/读取机制来解析数据,而不是DB2交互吗?会比它快吗?
如果文件处理速度更快,那么需要使用哪种机制: 简单文件写入/读取或对象写入/读取?
答案 0 :(得分:2)
如果使用得当,简单文件读/写应该更快,即如果数据以大块传输。
另外,请考虑使用memory-mapped files。
答案 1 :(得分:1)
这取决于您想要读/写的数据范围。读取一个巨大的文件有其自己的开销。如果source是一个小文件,你很明显可以快速读取它,因为解析开销很低。但是如果文件由复杂的结构组成,那么RDBMS或数据库可能是一个可行的选择。
另一种选择是您可能希望查看要读取和写入的数据的自动性,一致性,隔离性和持久性(ACID)。
答案 2 :(得分:1)
您是否考虑过使用Java中的DB2 LOAD。插入速度非常快,您可以使用光标进行选择,也可以从文件中插入。
但是,将数据插入/加载到数据库中与写入文件完全不同。你想做什么?