假設我有一個龐大的SQLite文件(比如500 [MB])。可以有10個不同的python
實例同時訪問此文件和更新不同的記錄它嗎?請注意,這裏的重點是不同記錄。SQLite與Python的併發性?
例如,假設SQLite的文件有說1M
行:
實例1將處理(和更新)行0 - 100000
實例2將將處理(和更新)行100001 - 200000
.........................
實例10將處理(和更新)行900001 - 百萬
含義,每個python
實例只會更新文件的唯一子集。這工作,還是我會有嚴重的誠信問題?
SQLite常見問題清楚地解釋說,SQLite使用讀寫器鎖定,允許併發訪問。寫入序列化,但支持與寫入訪問**併發。 – 2011-06-10 04:23:30
然而,我同意一般情況下,對SQLite數據庫的併發寫入訪問不是很安全(取決於對給定的操作系統和FS實施文件鎖定有多好)。 – 2011-06-10 04:32:39
「整個數據庫在任何寫入操作上被鎖定」通常不會很長。特別是在啓用日誌功能的情況下,當日志刷新時,最多隻有幾十毫秒,即使如此,讀取操作仍然會成功。 – hayavuk 2017-03-10 13:19:50