如果我为多个编写器使用额外的互斥锁,我可以在 SQLite3 中使用 WAL 模式吗?



http://sqlite.org/wal.html

WAL 模式是为 N 个读取器和一个写入器指定的。作家的身份可以互换吗?例如,我有 N 个编写器和一个额外的互斥锁。每个作家都必须获得这个互斥体才能写作,所以永远不会有两个作家同时写作。这可能吗?如果是这样,为什么这不是SQLite的一部分,因为对我来说,它似乎是WAL模式的自然扩展。

在 WAL 模式下,不可能有多个活动写入器。但是,多个编写器可以尝试编写。此冲突的处理方式与回滚日志模式下完全相同,即第一个写入器锁定数据库,而其他写入器必须等待。

最新更新