android sqlite数据库

本文详细介绍了在使用SQLite数据库进行操作时,WAL(Write-Ahead Logging)和SHM(Shared Memory)文件的作用及工作原理。揭示了在数据库更新过程中,数据如何先缓存于shm和wal文件中,待达到一定条件后再写入db文件,以及这些临时文件的可删除性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 开发中用到了sqlite数据库

对数据库进行了一些增删改操作之后,在查看数据库的时候发现,会同时生成三个文件,如下所示

 

 其中,

wal 和 shm,这两个文件是暂存一些原子操作记录的,在适当的时候会回滚写回到db文件中。有时候你更新了一些记录,db文件不会改变,只会修改WAL和SHM文件的内容,可以理解为:操作数据库后数据先缓存到shm 和 wal中,当wal缓存达到一定数量再写入db。shm相当于是桥梁。故shm 和 wal 是可以删除的。

如上截图,上次更新数据库是在2020-05-11 18:59,三个文件的操作时间一样。然后在2020-05-12 09:14又更新 了数据库内容,这时会先修改shm 和 wal的内容,暂时不会修改db的内容。所以db文件的操作时间还未更新。

附:查看sqlite数据库

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值