SQLite / Java:启用内存缓存,尽可能重新编写I / O.

时间:2018-04-07 10:53:06

标签: java sqlite

我正在使用SQLite将非关键信息保存到磁盘。我正在使用的数据库相对较小,最高可达 10Gb 。同时工作站有足够的RAM来保存在内存中。

我想要的是尽可能减少磁盘写入,每小时将整个数据库转储到磁盘上是一个很好的解决方案。

Java<> SQLite连接是通过org.xerial.sqlite-jdbc JDBC驱动程序完成的。

连接字符串如下:

"jdbc:sqlite:/disk/persistence.db"

1 个答案:

答案 0 :(得分:1)

如果数据不重要,只需使用内存数据库,而不要将其写入磁盘。

如果数据更为关键并且您确实要保存它,则可以使用PRAGMA synchronous = OFF甚至PRAGMA journal_mode = OFF来避免某些写操作,但代价是可能存在数据损坏。

如果要避免所有写入,请使用内存数据库,并使用备份API手动制作磁盘副本。