SQLite不适合客户端服务器应用程序?

时间:2011-10-17 23:48:41

标签: database sqlite client-server

基于http://www.codeproject.com/KB/cs/SQLiteCSharp.aspx

上的文章

与所有数据库一样,SQLite有其缺点列表。它不适用于客户端服务器应用程序或网络数据库。它不适合多用户场景,并且在通过网络同时访问时可能会出现严重的文件锁定问题。出于同样的原因,SQLite不适合多线程或多进程应用程序 - 数据库访问方案。

SQLite不适合客户端服务器应用程序吗?因为我想开发书店和卡拉OK应用程序? 如果SQLite不适合哪些数据库适合哪种自包含,无服务器,零配置?

2 个答案:

答案 0 :(得分:1)

如果你只是在一个线程下运行,并且你的应用程序速度足以满足所有请求,那么你没事。正如您所指出的,多个线程或多个同时用户写入(通常通过多个线程)是您遇到问题的地方。

我对this question的回答更详细地概述了数据库锁等问题,您已经在SQLite中暗示过这些问题。

答案 1 :(得分:1)

SQLite FAQ说:

(5)同一应用程序的多个应用程序或多个实例可以同时访问单个数据库文件吗? 多个进程可以同时打开同一个数据库。多个进程可以同时执行SELECT。但是,只有一个流程可以随时对数据库进行更改。

链接下有更多信息。

因此,您真正需要做的就是确保使用某种锁定机制进行写入。