【发布时间】:2019-10-04 16:36:35
【问题描述】:
通常从文件中读取 SQLite 数据库。如果数据库足够大,每个操作都可能需要文件 I/O 操作,这可能会很慢。
但是 SQLite 提供了一种将数据库加载到内存的方法 - 可以使用 JDBC url 访问它,类似于jdbc:memory...
例如,这个问题描述了如何使用python实现这一点:How to load existing db file to memory in Python sqlite3?
但是我不知道如何使用 JDBC 在 Java 或 Scala 中实现相同的功能。
有什么想法吗?
【问题讨论】:
-
“从文件加载到内存中”是什么意思?
-
@MarkRotteveel 我已经为问题添加了更多细节(尽管在这种情况下,问题对于那些知道答案的人来说是显而易见的)
-
别打扰了。真的不值得努力。只需使用 pragma 增加缓存大小和 mmap 大小。
-
值得付出努力,否则我不会问。我还需要预先加载而不是延迟加载。
-
您可以使用 JDBC 驱动程序将内存数据库与 sqlite 一起使用,请参阅stackoverflow.com/questions/8831514/sqlitehow-to-use-in-memory 这使您的问题更像是“我如何备份和恢复 sqlite 数据库”或“我如何复制” sqlite 数据库的内容”。 JDBC 本身没有类似的东西,所以你需要一些特定于 sqlite 的东西。