sqlite事务 及 PRAGMA synchronous = OFF;

bash 复制代码
begin;
PRAGMA synchronous = OFF;

commit;

PRAGMA synchronous = OFF; 是一个用于 SQLite 数据库的命令,它设置了数据库的同步模式。SQLite 是一个流行的嵌入式数据库管理系统,它通过不同的 PRAGMA 命令提供了多种设置和优化选项。

在 SQLite 中,synchronous PRAGMA 用于控制数据库引擎在写操作期间如何使用磁盘 I/O。这个设置会影响数据的完整性和性能。有三个主要的 synchronous 模式:OFF、NORMAL 和 FULL。

  • OFF : 当设置为 OFF 时,SQLite 引擎不会等待数据实际写入磁盘;它只是将数据发送到操作系统,并立即继续执行。这种模式提供了最快的操作速度,因为减少了磁盘 I/O 操作。然而,这也意味着在系统崩溃或电源故障的情况下,最近的写操作可能会丢失,因为数据可能还没被实际写入磁盘。

  • NORMAL : 在 NORMAL 模式下,SQLite 会在关键时刻(如事务提交)等待数据写入磁盘,但不像 FULL 模式那样频繁。这提供了数据完整性和性能之间的平衡。

  • FULL : FULL 模式确保数据在继续之前写入磁盘,从而提供最高级别的数据完整性。在这种模式下,每次写操作都会同步到磁盘,但性能会因为增加的 I/O 操作而降低。

总的来说,PRAGMA synchronous = OFF; 是一个性能优化设置,它牺牲了一些数据完整性以换取更快的写操作速度。在不太关心数据丢失风险的场景中,比如临时数据库或缓存,这个设置可能是有益的。然而,在需要确保数据安全和完整性的应用中,使用 OFF 模式需要谨慎。

相关推荐
莫晓燚16 分钟前
阿里云若依项目部署与日志采集---实战
运维·数据库·redis·阿里云·ruoyi
香蕉大香蕉(06敬畏市场)42 分钟前
MySQL 单点详解(08)
java·数据库·mysql·面试·八股
l1t1 小时前
DeepSeek总结的如何在 PostgreSQL 中删除一张 4 TB 的表
数据库·postgresql
ClouGence1 小时前
开源数据库管理工具 CloudDM 发布新版本,支持团队多级审批工单,无需依赖第三方系统
数据库·sql·开源
李纲明2 小时前
WordPress 报建立数据库连接时出错:先核 wp-config 四元组,再查 MySQL 服务与表修复
运维·数据库·mysql·wordpress·排障·devdiy
鸢尾掠地平3 小时前
MySQL之DML(含例子)
数据库·mysql
香蕉大香蕉(06敬畏市场)3 小时前
MySQL 单点详解(06)
java·数据库·mysql·博客·实习
CodeHackerBhx3 小时前
MySQL 迁达梦踩坑实录:FIND_IN_SET、timestamp(6) 和一整批要改的函数
数据库·mysql·达梦·信创·数据库迁移
n 55!w !1084 小时前
MySQL笔记整理2
数据库·笔记·mysql
李纲明4 小时前
WordPress 提示「建立数据库连接时出错」:先核 wp-config 与数据库服务,再查表损坏与磁盘配额
数据库·wordpress·devdiy