SQLite是否支持并行处理?

发表时间: 2020-11-13 10:52

SQLite是基于文件的数据库,最近有多个应用用同一个SQLite数据库的问题,所以查阅了一下SQLite的资料,关于多进程的问题。

总的来说SQLite对于多进程的访问是没有问题的。

多个进程能够同时使用select语句,对数据进行读操作。

但是如果对数据需要修改和更新,SQLite则会自动加锁,而且直接是锁整个数据库,虽然可能会有稍许效率问题相对于其他客户端/服务器模式的数据库,但是在嵌入式数据库领域,已经很不错了,至少多进程访问是没有问题的。

但是要注意两个问题,一个是NFS文件系统,SQLite的锁有可能在NFS实现上有问题,还有就是FAT格式的文件系统,也可能出问题。

这两个还是很容易避免的,如果真的在这样的文件系统上,还是尽量避免使用多进程,或者自己通过其他方式额外加一把锁。