SQLite .journal 文件

在之前插入大量数据测试的时候,发现在数据库文件同级目录下会产生一个同名.journal的文件,并且不是一直会存在,而是生成一会就会自动删除,然后继续生成继续删除,直到数据插入完成。

初步猜测,应该是类似 redis 的 rdb持久化文件一样,防止服务宕机或者插入中断丢失数据。

带着此疑惑,翻阅下SQLite官方文档,如下:

File Locking And Concurrency In SQLite Version 3

翻译过来大概就是指: 当进程想要更改数据库文件时,它首先记录原始未更改的数据库内容 在_回滚日志_中。回滚日志是普通的始终位于的磁盘文件在与数据库文件相同的目录或文件夹中,并具有与数据库文件同名,但添加了 -journal 后缀。回滚日志还记录初始数据库的大小,以便在数据库文件增长时可以截断它 回滚时恢复到其原始大小。

简单理解当SQLite数据库进行事务处理时,.journal文件用于存储修改前的数据页(page)的副本。如果在事务提交之前发生崩溃或错误(如宕机),SQLite可以使用这些存储的副本来回滚(roll back)事务,从而保持数据库的一致性和完整性。

这样看来,与我一开始的猜测出入不大,.journal文件还是蛮重要的,是一个重要角色。


相关推荐
数据皮皮侠41 分钟前
最新上市公司业绩说明会文本数据(2017.02-2025.08)
大数据·数据库·人工智能·笔记·物联网·小程序·区块链
小云数据库服务专线1 小时前
GaussDB数据库架构师修炼(十六) 如何选择磁盘
数据库·数据库架构·gaussdb
码出财富2 小时前
SQL语法大全指南
数据库·mysql·oracle
异世界贤狼转生码农4 小时前
MongoDB Windows 系统实战手册:从配置到数据处理入门
数据库·mongodb
QuZhengRong4 小时前
【数据库】Navicat 导入 Excel 数据乱码问题的解决方法
android·数据库·excel
码农阿豪4 小时前
Windows从零到一安装KingbaseES数据库及使用ksql工具连接全指南
数据库·windows
时序数据说10 小时前
时序数据库市场前景分析
大数据·数据库·物联网·开源·时序数据库
听雪楼主.13 小时前
Oracle Undo Tablespace 使用率暴涨案例分析
数据库·oracle·架构
我科绝伦(Huanhuan Zhou)13 小时前
KINGBASE集群日常维护管理命令总结
数据库·database
妖灵翎幺13 小时前
Java应届生求职八股(2)---Mysql篇
数据库·mysql