Carregando db SQLite para a memória em Java usando JDBC?

Clique Upvote:

Normalmente, um db SQLite é lido a partir de um arquivo. Cada operação pode exigir uma operação de arquivo I / O se o db é grande o suficiente, e isso pode ser lento.

No entanto SQLite fornece uma maneira de carregar o db para a memória - onde ele pode ser acessado através de um url JDBC que é algo comojdbc:memory...

Por exemplo, esta questão descreve como conseguir isso usando python: Como carregar o arquivo db existente para a memória em Python sqlite3?

No entanto, eu não consigo descobrir como conseguir a mesma coisa em Java ou Scala usando JDBC.

Alguma ideia?

Gord Thompson:

Eu apenas tentei com sqlite-jdbc-3.27.2.1.jar de Xerial e parece que eles nos deixaram restore fromum arquivo de banco de dados nativo (binário) SQLite em um :memory:banco de dados da seguinte forma:

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);
}

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=120224&siteId=1
Recomendado
Clasificación