如果你在開線程請求資料庫中如果你覺得所用時間太長的話,你就可以透過python資料庫連接池去改善一下在此方面的不足之處,以下是文章的具體介紹,你可以透過我們的文章對python資料庫連接池有一個更好的了解。
昨天測試了一下開500個執行緒去請求資料庫,不過這個時間不清楚會耗多少。即同時發起這麼多的線程其效率會如何。於是想到是不是用資料庫連接池技術可以明顯改善一下這樣的連接操作。呆會整理完了之後要測試一個資料:頻繁建立與關閉資料庫連線的效率與連線池之間的效能比較!
一、DBUtils模組學習
DBUtils實際上是一個包含兩個子模組的Python包,一個用於連接DB-API 2模組,另一個用於連接典型的PyGreSQL模組。全域的DB-API 2變數
SteadyDB.py
用於穩定資料庫連線
PooledDB.py
連線池
PersistentDB.py
🜎並維持持續的資料庫連線(H 簡單連接池PS:先摘抄DB-API出來吧安裝為頂層模組來的兩個模組提供基本服務, PersistentDB 和PooledDB 。
DBUtils.PersistentDB 實現了強硬的、線程安全的、頑固的資料庫連接,使用DB-API 2模組。如下圖展示了使用 PersistentDB 時的連接層步驟:DBUtils.PooledDB 實作了一個強硬的、執行緒安全的、有快取的、可重複使用的資料庫連接,使用任何DB-API 2模組。如下圖展示了使用 PooledDB 時的工作流程:目前供我們選擇的有兩個模組:PersistentDB 和 PooledDB 都是為了重複使用資料庫連接來提高效能,並保持資料庫的穩定性。 python setup.py install具體的模組學習:DBUtils.SimplePooledDB 是一個非常簡單的資料庫連接池實作。他比完善的 PooledDB 模組缺少很多功能。 DBUtils.SimplePooledDB 本質上類似 MiscUtils.DBPool 這個Webware的組成部分。你可以把它看作一種示範程式DBUtils.SteadyDB 是一個模組實現了"強硬"的資料庫連接,基於DB-API 2建立的原始連接。一個"強硬"的連線表示在連線關閉之後,或使用次數操作限制時會重新連線。一個典型的例子是資料庫重新啟動時,而你的程式仍然在運行並需要存取資料庫,或者當你的程式連接了一個防火牆後面的遠端資料庫,而防火牆重新啟動時丟失了狀態。 一般來說你不需要直接使用 SteadyDB 它只是給接下