【转】Android调用Sqlite数据库时自动生成db-journal文件的原因

时间:2024-10-23 12:36:08

数据库为了更好实现数据的安全性,一半都会有一个Log文件方便数据库出现意外时进行恢复操作等。Sqlite虽然是一个单文件数据库,但麻雀虽小五脏俱全,它也会有相应的安全机制存在

这个journal文件便是Sqlite的一个临时的日志文件,主要用于sqlite事务回滚机制,在事务开始时产生, 在事务结束时删除。当程序发生崩溃或者系统断电时该文件将留在磁盘上,以便下次程序运行时进行事务回滚。

在android模式下,journal文件是永久的留在磁盘上不会被自动清除的。如果没有发生事务回滚那么.db-journal文件的大小为0,这样就避免了每次生成和删除journal文件的开销。

所以,在进行数据备份时最好同时备份两个文件比较安全。