加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

[sqlite] db-journal文件产生原因及说明

发布时间:2020-12-12 20:01:54 所属栏目:百科 来源:网络整理
导读:ref:http://www.jb51.cc/article/p-wejhdmfk-zm.html 今天在android中将sqlite的数据库文件生成在SD卡上的过程中,发现生成的.db文件的旁边生,成了一个大小为0的与数据库文件同名的.db-journal文件。不明白此文件的用途,于是google了sqlite的官方文档,发

ref:http://www.52php.cn/article/p-wejhdmfk-zm.html

今天在android中将sqlite的数据库文件生成在SD卡上的过程中,发现生成的.db文件的旁边生,成了一个大小为0的与数据库文件同名的.db-journal文件。不明白此文件的用途,于是google了sqlite的官方文档,发现该文件的用途如下:

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


但是我创建数据库时将事务结束了,同时程序也没有崩溃,为什么还是会在磁盘上产生.db-journal文件呢?

深入研究,发现这是sqlite生成日志文件的不同模式造成的。

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读