【轉】sqlite3.connect


conn=sqlite3.connect('urls.db')

conn=sqlite3 connect ":memory:" )

SQLite不僅可以把數據庫 放在硬盤上,還可以放在內存中(sqlite3_open(":memory:", &db)),經測試,同樣條件下數據庫放在內存中比放在硬盤上插入記錄速度快差不多3倍。但數據庫放在內存中時有如下缺陷:

1、斷電或程序崩潰后數據庫就會消失,你需要定期Attach到硬盤上備份;

2、在內存中的數據庫不能被別的進程訪問(因為沒名字,以后可能支持),即使在多線程下,也得使用同一句柄;

3、不支持像在硬盤上的讀寫互斥處理,自己加鎖吧。

  看來,追求速度要付出代價啊!

 

 

 

有沒有什么方法折衷一下,就是 conn=sqlite3 connect ":memory:" )使用完之后,再保存在本地呢?

 

 

記錄你執行過的sql,在使用完之后再connect("memory.db"),將sql重新執行一次,就可以保存了 也不太好


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM