app.sqlite-shm 和 app.sqlite-wal 是什么文件?
这是 SQLite WAL 模式(Write-Ahead Logging)生成的临时文件,用来提高写入并发性能。
app.sqlite主数据库文件app.sqlite-walWAL 日志文件,所有写操作先写到这里app.sqlite-shm共享内存文件,SQLite 用来管理 WAL 索引、并发读写控制
为什么会出现?
当 SQLite 开启 WAL 模式 时(默认 python sqlite3 很可能会自动启用),写入不会直接写到 xx-faces.sqlite,而是先写到 .wal 文件,然后后台再 merge 回主库。
这样做的好处一是读写并发更好(读不阻塞写),二是写入性能更高。