Python的SQLite并发性?

问题描述

| 假设我有一个巨大的SQLite文件(例如500 [MB])。 10个不同的“ 0”实例可以同时访问此文件并更新它的不同记录吗?注意,这里的重点是不同的记录。 例如,假设SQLite文件具有“ѭ1”行: 实例1将处理(并更新)行0-100000 实例2将处理(并更新)行100001-200000 ......................... 实例10将处理(并更新)行900001-1000000 这意味着,每个“ 0”实例将仅更新文件的唯一子集。请问这项工作有效,还是我会遇到严重的诚信问题?     

解决方法

        更新,感谢AndréCaron。 您可以这样做,但是只有读取操作支持SQLite中的并发性,因为整个数据库都锁定在任何写入操作上。在这种情况下,SQLite引擎将返回SQLITE_BUSY状态(如果超过了默认的访问超时时间)。还应考虑到,这在很大程度上取决于为给定的OS和文件系统实现良好的文件锁定。通常,我不建议使用建议的解决方案,特别是考虑到DB文件很大,但是您可以尝试。 最好使用基于服务器进程的数据库(MySQL,PostgreSQL等)来实现所需的应用程序行为。     ,        有些。一次只能有一个实例可以写入,这意味着并发写入将被阻止(请参阅SQLite FAQ)。您不会遇到完整性问题,但是我不确定您会真正从并发中受益,尽管并发取决于并发与否。     

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...