当前位置: 首页 > 面试题库 >

在Java中使用jdbc驱动程序进行慢速sqlite插入

韩明德
2023-03-14
问题内容

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

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

插入大量行的速度对于我的模式迁移脚本很重要,如果不需要,我宁愿不必使用外部脚本来进行迁移。

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


问题答案:

您是否已自动提交查询?那可以解释为什么花了这么长时间。尝试将它们包装在开头/结尾中,这样就不必对每个插入都进行完全提交。

本页说明开始/结束事务,而FAQ涉及插入/自动提交。



 类似资料:
  • 在本教程中,http://www.sqlitetutorial.net/sqlite-java/sqlite-jdbc-driver/,关于将sqlite与java结合使用,首先从以下网站下载JDBC驱动程序,https://bitbucket.org/xerial/sqlite-jdbc/downloads/.然后使用Maven构建系统将驱动程序添加到项目中。 我环顾四周,看不出如果你使用Gra

  • 问题内容: 我有一个包含用户信息的数据库,我想创建一个公共静态变量,以便在任何给定时间返回数据库整数,而不必为每个整数都做一个空,但这给了我这个错误: 这是我的代码: 有人知道我在做什么错吗?我尝试使用Google的东西,但是更改代码将我从一个错误转移到了另一个错误…因此,我现在还不确定。 我正在运行JDBC驱动程序sqlite-jdbc-3.8.11.2.jar 问题答案: 未实现。我想你只是想

  • 我正在尝试做一个登录代码。快速的解释是,我想在deatils页面中显示帐户的详细信息,但我不能这样做,因为错误总是显示该函数没有在JDBC驱动程序中实现

  • Java教程说有两种方法可以通过JDBC连接到数据库:使用DriverManager类(旧的,不推荐)和DataSource类。 我明白如何做它与DriverManager: 但我无法找到如何使用DataSource的SQLite通过JDBC。SQLite(或JDBC驱动程序提供程序,我不知道如何正确地调用它)是否支持使用DataSource? 我正在使用xerial/sqlite jdbc驱动程

  • 我有一个表超过5百万行,我需要更新字段在每一个基于字段在同一个表内。 但是我得到了这个错误: 不是由SQLite JDBC驱动程序实现的 我正在使用sqlite-jdbc-3.8.11.2。jar下载地址:https://bitbucket.org/xerial/sqlite-jdbc/downloads. 我知道我可以使用以下SQL查询: 但这需要很长时间,我知道更新会更快。那么,我有什么选项来

  • 如何将Crystal Reports与ucanaccess jdbc驱动程序一起使用?我得到“未找到驱动程序”错误。我将ucanaccess jar文件复制到程序文件(C:\program files(x86)\Business objects\common\3.5\java)中的业务对象,编辑了crconfig.xml文件,并且已经在Crystal Reports中配置了JDBC(JNDI)。M