Sqlite

如何使用 python 在 sqlite 中禁用數據庫鎖定?

  • August 18, 2018

我在 python 中創建了一個應用程序,它應該在多個實例(多 CMD 寡婦)(多執行緒)中同時讀取和寫入。每個執行緒都是獨立配置的,因此它不會更改與其他實例一起寫入的數據。所以在行動中,應用實例 1 將使用 John 的數據,而應用實例 2 將使用 Jane 的數據,依此類推。

應用程序的概念很簡單,但在一次執行多個實例時,可能會出現數據庫鎖定錯誤並且應用程序將停止工作的情況。

我想禁用這個鎖定係統,因為它在我的應用程序中沒有必要,我設計它獨立正是出於這個原因。

誰能告訴我用python來做?是否可以?我應該在哪裡放置程式碼或sql命令或任何東西?

使用嵌入式 sqlite 有利於開發和測試,我假設您正在使用這樣的 db:

db = sqlite3.connect('data/mydb')

在這種情況下,您可以使用多個數據庫,例如 mydb1、mydb2 等。它將防止鎖定,但總體而言,這不是解決方案。

我建議通過您認為合適的任何 RDS 服務在單個數據庫實例中使用多個表。比如這個

另一種解決方案可能是從關係數據庫遷移到 NoSQL 解決方案。它將完全防止鎖定情況,並且當數據交換量相對較低時,它具有高度可擴展性且價格合理。

引用自:https://dba.stackexchange.com/questions/215265