android sqlite *.db-journal

这两天因为项目须要开始使用sqlite数据库,但是在操做过程当中,在databases文件下生成*.db的同时总会对应生成一个*.db-journal。刚开始在网上查找缘由,网上有人说是数据库操做错误时生成的日志,但是再怎么仔细检查,都发现我对数据库的操做都是正确的,不会有异常,并且*.db-journal文件的大小一直是0.android

          后来看了下sqlite的官方文档,发现该文件是sqlite的一个临时的日志文件,主要用于sqlite数据库的事务回滚操做了。在事务开始时产生,在事务操做完毕时自动删除,当程序发生崩溃或一些意外状况让程序非法结束时,此文件便保存在了磁盘上,以便下次运行时进行事务回滚。
sql

         而android本身的一些机制,又使*.db-journal一直存在。即第一次操做数据库时,*.db-journal文件会被自动建立,且是永久的保存在磁盘中,不会被自动清除的,若是没有操做异常或者不须要事务回滚时,此文件的大小为0。这种机制避免了每次生成和删除*.db-journal文件的开销数据库

相关文章
相关标签/搜索