在java中使用jdbc驱动程序缓慢地插入sqlite

在java中使用jdbc驱动程序缓慢地插入sqlite,java,sqlite,jdbc,performance,Java,Sqlite,Jdbc,Performance,我刚刚在一个有五列的简单sqlite表中插入了一百万条记录。在java中使用jdbc驱动程序花了18个小时!我在python2.5中做了同样的事情,不到一分钟。select查询的速度似乎不错。我认为这是jdbc驱动程序的问题 java中是否有更快的sqlite3驱动程序 插入大量行的速度对于模式迁移脚本非常重要,如果不需要,我不希望使用外部脚本进行迁移 编辑:使用connection.setAutoCommit(false)修复; 感谢Mark Rushakoff提示我解决方案:)您的问题是否自

我刚刚在一个有五列的简单sqlite表中插入了一百万条记录。在java中使用jdbc驱动程序花了18个小时!我在python2.5中做了同样的事情,不到一分钟。select查询的速度似乎不错。我认为这是jdbc驱动程序的问题

java中是否有更快的sqlite3驱动程序

插入大量行的速度对于模式迁移脚本非常重要,如果不需要,我不希望使用外部脚本进行迁移

编辑:使用connection.setAutoCommit(false)修复;
感谢Mark Rushakoff提示我解决方案:)

您的问题是否自动提交?这可以解释为什么花了这么长时间。尝试将它们包装在begin/end中,这样就不必对每个插入都进行完整提交


解释开始/结束事务,同时涉及插入/自动提交。

如果您想进一步优化,可以考虑将插入查询批处理在一起。因此,您可以将100万个插入更改为1000个批次的1000个插入