我能够将大量文本文件数据加载到数据库中,其中行数为33264591。 我使用普通的 BufferedReader 来逐行读取并能够推送数据。 这里需要花费大量时间加载近3小时,逐行阅读并插入数据库。
有人建议我使用java快速插入数据吗?
提前谢谢
答案 0 :(得分:0)
嗯,在继续之前,我建议使用一个分析器,找出为什么需要这么多时间。如果您知道问题所在,那么修复起来会更容易。
答案 1 :(得分:0)
我认为阅读大文件的最佳方法是使用BufferedReader并逐行读取。所以这就是你在做的事情。我想知道您是否在正在读取文件的同一循环中插入数据。我在您的方案中可以想到的唯一优化是在单独的线程中进行数据库插入,这样就不会因为DB插入中的任何延迟而阻止文件读取。随着表格大小的增加,数据库插入将逐渐开始变得越来越慢。因此,在单独的线程中进行数据库插入将是一个好主意。
答案 2 :(得分:0)
批量插入而不是一次插入一行。