为了账号安全,请及时绑定邮箱和手机立即绑定

使用 JDBC 将 SQLite 数据库加载到 Java 中的内存?

使用 JDBC 将 SQLite 数据库加载到 Java 中的内存?

收到一只叮咚 2022-11-30 16:41:52
通常从文件中读取 SQLite 数据库。如果数据库足够大,每个操作都可能需要一个文件 I/O 操作,这可能很慢。然而,SQLite 提供了一种将数据库加载到内存的方法 - 可以使用看起来像这样的 JDBC url 访问它jdbc:memory...例如,这个问题描述了如何使用 python 实现这一点:How to load existing db file to memory in Python sqlite3?但是我不知道如何使用 JDBC 在 Java 或 Scala 中实现同样的事情。有任何想法吗?
查看完整描述

1 回答

?
子衿沉夜

TA贡献1828条经验 获得超3个赞

我刚刚尝试使用 Xerial 的 sqlite-jdbc-3.27.2.1.jar,它们似乎让我们restore from将本机(二进制)SQLite 数据库文件放入:memory:数据库中,如下所示:


try (Connection conn = DriverManager.getConnection("jdbc:sqlite::memory:")) {

    try (Statement st = conn.createStatement()) {

        st.execute("restore from C:\\__tmp\\thing.sqlite");


        // let's see if we can read one of the tables

        ResultSet rs = st.executeQuery("SELECT * FROM Table1");

        while (rs.next()) {

            System.out.println(rs.getString(1));

        }

    }


} catch (Throwable e) {

    e.printStackTrace(System.err);

}


查看完整回答
反对 回复 2022-11-30
  • 1 回答
  • 0 关注
  • 168 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信