在将数据同步到SQLite DB时,将填充data-wal

时间:2018-02-07 12:35:18

标签: android sqlite wal

我已经连接了我的设备并访问了我的应用程序数据,转到/data/data/my.package.name/databases

我在这里可以看到文件:

data
data-shm
data-wal

我可以理解这些文件特定于android系统本身,但它们代表SQLite数据库,但它们不能安装到SQLite阅读器上?

我正在将数据下载并存储到数据库时遇到此问题,一段时间data-wal开始变得非常庞大(从12MB到7GB)并且在同步完成后它再次变得几乎为空。我是否正确地说这可能是事务的问题(某处事务没有被关闭并且总是被打开,因为这个原因data-wal正在填充备份数据以备回滚)?< / p>

1 个答案:

答案 0 :(得分:0)

数据库由这三个文件组成。打开data时,其他两个会在需要时自动使用。

-wal文件包含自上一个检查点以来对数据库所做的所有更改。要prevent the -wal file from becoming too large,请使用较小的事务,以便SQLite能够执行检查点,或者只是在批量写入期间完全禁用WAL模式。