SQLite 可以支持多个用户吗?

我试图开发一个基于 Windows 的应用程序与多个用户访问相同的数据库在同一时间。SQLite 可以同时支持多个访问吗?SQLite 在这方面是稳定的吗?什么使得 SQLite 比 MSSQLCE 更好或更差?

谢谢。

77373 次浏览

是的,SQLite 可以同时支持多个用户。但是在写入时它会锁定整个数据库,所以如果有很多并发写入,那么它就不是你想要的数据库(通常锁定数据库的时间是几毫秒——所以对于大多数使用来说这并不重要)。但是它经过了很好的测试,非常稳定(而且被广泛使用) ,因此您可以信任它。

您可以阅读这个简短的文档,了解什么时候使用 SQLite,而不是 http://www.sqlite.org/whentouse.html

是的。
来自 SQLite 常见问题解答第五段:

多个进程可以同时打开相同的数据库。多个进程可以同时执行一个 SELECT。但是,任何时候只有一个进程可以对数据库进行更改的时间,但是。

如果并发写操作是一个问题,您可能需要查看 伯克利尸体。SQLAPI 与 SQLite 完全兼容。实际上,它集成了 Berkeley DB 存储引擎的 SQLite 执行器顶部,是的支持多个并发写操作。