通常從文件中讀取 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);
}
添加回答
舉報
0/150
提交
取消