SQLite是否锁定数据库文件读取?
我正在调查SQLite作为存储引擎,我很想知道SQLite是否锁定数据库文件读取。
我关心的读性能,因为我计划的项目将有很少的写,但许多读。如果数据库锁定,是否有措施可以采取(如内存缓存)来减轻这个? 从 Wikipedia page:
更确切地说,从FAQ:
然而,对数据库的单个写入会锁定数据库一段时间,所以没有什么可以访问它(甚至没有读取)。详细信息可以在File Locking And Concurrency In SQLite Version 3找到。基本上读取数据库没有问题,除非有人想立即写入数据库。在这种情况下,DB在执行该事务所需的时间内被独占锁定,并且该锁随后被释放。然而,关于在PENDING或EXCLUSIVE锁定的时候对数据库的读取操作究竟是什么的细节是很少的。我的猜测是,他们或者返回SQLITE_BUSY或阻塞,直到他们可以读取。在第一种情况下,不应该太难以再次尝试,特别是如果你期望几乎没有写入。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |