当前位置:  开发笔记 > 数据库 > 正文

我应该相信SQLite事务以避免文件损坏吗?

如何解决《我应该相信SQLite事务以避免文件损坏吗?》经验,为你挑选了1个好方法。

我已经阅读了SQLite文档中的Atomic Commit.如果你真的想了解发生了什么,这可能不会有点过分,但简而言之,交易是这样的:

    锁定数据库文件

    创建回滚日志

      确定数据库文件的哪些部分将要更改

    将这些页面的副本写入日志文件

    编写日志文件头

    将您想要的更改写入数据库文件

    删除回滚日志(这是提交)

当用户与妈妈交谈并重新启动应用程序时,当它尝试打开数据库文件时,如果存在回滚日志,它将使用类似的安全过程将原始数据写回数据文件.即使您丢失了交易并且丢失了回滚,一旦妈妈的精神崩溃得到适当的挫败,它最终会得到照顾,并且他可以一次运行该应用程序超过几秒钟.

如果是我,我会相信交易.有了这么多SQLite用户,即使在嵌入式应用程序中,我认为如果交易提交失败,那么整个网络上的交易提交失败将是一个非常热门的话题.



1> 小智..:

我已经阅读了SQLite文档中的Atomic Commit.如果你真的想了解发生了什么,这可能不会有点过分,但简而言之,交易是这样的:

    锁定数据库文件

    创建回滚日志

      确定数据库文件的哪些部分将要更改

    将这些页面的副本写入日志文件

    编写日志文件头

    将您想要的更改写入数据库文件

    删除回滚日志(这是提交)

当用户与妈妈交谈并重新启动应用程序时,当它尝试打开数据库文件时,如果存在回滚日志,它将使用类似的安全过程将原始数据写回数据文件.即使您丢失了交易并且丢失了回滚,一旦妈妈的精神崩溃得到适当的挫败,它最终会得到照顾,并且他可以一次运行该应用程序超过几秒钟.

如果是我,我会相信交易.有了这么多SQLite用户,即使在嵌入式应用程序中,我认为如果交易提交失败,那么整个网络上的交易提交失败将是一个非常热门的话题.

推荐阅读
ifx0448363
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有