在Java中使用的JDBC驱动程序源码缓慢插入(slow sqlite insert using t

2019-06-27 04:20发布

我刚插入记录的100万到一个简单的SQLite表有五列。 它采取了百日咳十八小时,Java中使用的JDBC驱动程序! 我做的python2.5中同样的事情,花了不到一分钟。 为select查询的速度似乎罚款。 我认为这是与JDBC驱动程序的问题。

是否有在Java中的sqlite3更快的驱动程序?

插入行的大量的速度是我的架构迁移脚本重要的,我宁愿没有使用外部脚本做迁移,如果我没有。

编辑:固定connection.setAutoCommit(假); 感谢马克Rushakoff的暗示我的解决方案:)

Answer 1:

你有你的查询autocommitted? 这可以解释为什么花了这么长时间。 尝试在开始/结束包裹它们,以便它没有做一个完整的提交的每一次插入。

这页介绍开始/结束交易,而FAQ上插入/ autocommits触及。



Answer 2:

如果你想进一步优化,你可以看看你的批处理插入查询到一起。 所以,你可以改变百万插入至1000个插入的1000个批次。



文章来源: slow sqlite insert using the jdbc drivers in java