我们在此重申并放大前面的句子以强调:SQLite中单个事务内的所有更改要么完全发生,要么根本不发生,即使将更改写入磁盘的操作被中断 程序崩溃, 操作系统崩溃,或者其它 电源故障。
FeaturesOfSQLite 即使在系统崩溃和电源故障后,事务也是原子性的,一致的,隔离的和持久的(ACID)。 零配置-无需安装或管理。
8.测试原子提交行为 SQLite的开发人员确信它在面对电源故障和系统崩溃时稳健可靠,因为自动测试程序会对SQLite从模拟功耗中恢复的能力进行广泛的检查。我们称之为“碰撞测试”。
/kvtestruntest1.tree--count100k--update 上面的写作测试并不完全公平,因为SQLite正在进行电源安全交易,而直接写入磁盘的交易则不是。
SQLite必须看到日志文件才能从崩溃或电源故障中恢复。如果日志文件在崩溃或电源故障后被移动,删除或重命名,则自动恢复将不起作用,并且数据库可能会损坏。
寻呼机模块负责将数据库文件的页面加载到内存中,用于实现和控制事务,并用于创建和维护日志文件,以防止崩溃或电源故障后数据库损坏。
这里给出的结果有以下警告: 这些测试并未尝试测量涉及多个连接和子查询的复杂查询的多用户性能或优化。 这些测试是在一个相对较小的(大约14兆字节)数据库上。他们并没有衡量数据库引擎如何适应更大的问题。
大部分的SQLite代码都是纯粹用于测试的。SQLite测试套件运行数万个单独的测试用例,并且许多这些测试用例都经过参数化,以便在每次发布之前运行数亿次涉及数十亿SQL语句的测试并进行正确评估。
系统崩溃或电源故障后无需执行任何操作即可恢复。没有什么可以排除故障。SQLite正常工作。其他更熟悉的数据库引擎运行良好,一旦你让他们去。但是执行初始安装和配置可能会非常复杂。
例如,有关数据库文件更新时发生电源故障时可能发生的数据损坏程度的具体假设,请参见fs_characteristics一节。
如果syncDir参数为true,则xDelete方法不应返回,直到包含已删除文件的目录的目录内容更改已同步到磁盘,才能确保文件在出现电源故障时不会“重新出现”不久。
SQLite经过仔细测试并证明可靠。它不是一个需要大量调优或调试的组件,允许开发人员专注于应用程序逻辑。 单文件文件。SQLite数据库包含在单个文件中,该文件很容易复制,移动或附加。
如果计算机在更新过程中失去电源和/或崩溃,以不破坏整个文档的方式更新ZIP归档文件中的单个条目特别困难。做到这一点并非不可能,但实际上没有人真正做到这一点非常困难。
refresh() window.enclose(y,x) 测试给定窗口是否包含给定的一对屏幕相对字符单元坐标,返回True或False。确定屏幕窗口的哪个子集包含鼠标事件的位置很有用。
Ticket06796225f59c057c在RBU扩展中,添加额外的同步操作以避免电源故障后发生损坏的可能性。嵌套SQL语句的sqlite3_trace_v2()输出应始终以“-”注释标记开头。

扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2026 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059
粤公网安备44030502008569号
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号
