[sqlite] db-journal文件产生原因及说明
2014-05-24 11:00
841 查看
ref: http://blog.csdn.net/chtnj/article/details/7834526
今天在android中将sqlite的数据库文件生成在SD卡上的过程中,发现生成的.db文件的旁边生,成了一个大小为0的与数据库文件同名的.db-journal文件。不明白此文件的用途,于是google了sqlite的官方文档,发现该文件的用途如下:
该文件是sqlite的一个临时的日志文件,主要用于sqlite事务回滚机制,在事务开始时产生。
在事务结束时删除。当程序发生崩溃或者系统断电时该文件将留在磁盘上,以便下次程序运行时进行事务回滚。
但是我创建数据库时将事务结束了,同时程序也没有崩溃,为什么还是会在磁盘上产生.db-journal文件呢?
深入研究,发现这是sqlite生成日志文件的不同模式造成的。
在android采用的这种模式下,.db-journal文件是永久的留在磁盘上不会被自动清除的。如果没有发生事务回滚那么.db-journal文件的大小为0,这样就避免了每次生成和删除.db-journal文件的开销。
今天在android中将sqlite的数据库文件生成在SD卡上的过程中,发现生成的.db文件的旁边生,成了一个大小为0的与数据库文件同名的.db-journal文件。不明白此文件的用途,于是google了sqlite的官方文档,发现该文件的用途如下:
该文件是sqlite的一个临时的日志文件,主要用于sqlite事务回滚机制,在事务开始时产生。
在事务结束时删除。当程序发生崩溃或者系统断电时该文件将留在磁盘上,以便下次程序运行时进行事务回滚。
但是我创建数据库时将事务结束了,同时程序也没有崩溃,为什么还是会在磁盘上产生.db-journal文件呢?
深入研究,发现这是sqlite生成日志文件的不同模式造成的。
在android采用的这种模式下,.db-journal文件是永久的留在磁盘上不会被自动清除的。如果没有发生事务回滚那么.db-journal文件的大小为0,这样就避免了每次生成和删除.db-journal文件的开销。
相关文章推荐
- sqlite db-journal文件产生原因及说明
- android sqlite db-journal文件产生原因及说明
- Android sqlite db-journal文件的产生和原因
- Android sqlite db-journal文件的产生和原因
- android sqlite db-journal文件产生原因及说明 .
- [转]android sqlite db-journal文件产生原因及说明
- android sqlite db-journal文件产生原因及说明 .
- Android调用Sqlite数据库时自动生成db-journal文件的原因
- Android sqlite db-journal文件的产生和原因
- sqlite3的sql语句用法总结与SQLite生成.db-journal文件问题
- Windows7蓝屏后产生的.dmp文件如何打开并准确分析导致蓝屏原因所在?
- js或css文件后面跟参数的原因说明
- Android+SQLite将txt等文本文件转化为db数据库文件的方法
- DB数据静态化json文件,用Mybatis产生json文件,需要优化(大牛就别拍砖了)
- 如何打开扩展名为.DB 文件. 使用sqlite3 很方便
- Windows7蓝屏后产生的.dmp文件如何打开以及如何分析蓝屏的原因
- Oracle db file sequential read产生原因:
- 错误蓝屏死机重启产生的.dmp文件如何打开以及如何分析蓝屏的原因
- js或css文件后面跟参数的原因说明
- 在VS中修改js文件后, 不产生作用的原因