我正在創建一個連接到Oracle數據庫的Microsoft Web API後端。管理數據庫連接的最佳方法是:每次打開數據庫連接並通過靜態類/方法訪問它,或者每次需要查詢數據庫並再次關閉時打開數據庫連接?在web api中管理oracle sql連接
現在我使用的是靜態連接:
3210...然後在需要連接任何一類我稱之爲DbConnConfig.getConnection()
我正在創建一個連接到Oracle數據庫的Microsoft Web API後端。管理數據庫連接的最佳方法是:每次打開數據庫連接並通過靜態類/方法訪問它,或者每次需要查詢數據庫並再次關閉時打開數據庫連接?在web api中管理oracle sql連接
現在我使用的是靜態連接:
3210...然後在需要連接任何一類我稱之爲DbConnConfig.getConnection()
它可以根據您的具體要求而變化。這裏有幾點需要思考。
如果您的應用程序正在不斷運行並彙集數據庫,我會在整個使用期限內保持連接打開狀態。不需要創建和釋放數據庫連接,因爲您可以重複使用相同的連接。這將爲您節省啓動和釋放數據庫連接所花費的資源,並且通常是安全的:is it safe to keep database connections open for long time。此外,您可能會付出更多的費用,因爲有些許可證在其定價模型中考慮了與數據庫的連接數。
你應該研究的另一個方面是不要耗盡活動連接的數量。也就是說,計劃/設計/架構您的應用程序時考慮到可擴展性。您可以檢查活動連接數here。我記得我有一個問題。完成工作單元后,我最終關閉了連接(其他選項是增加連接池的大小)。雖然,如果你只是開始開發和你的應用程序是唯一的消費者,這將不會是一個問題LOL
另一種情況下,最好只是關閉數據庫連接是當你知道它不會被用於很長一段時間。這樣你就可以減少打開的連接(再次,可擴展性)。您還將重新獲得該連接佔用的資源(如內存,如果這是您的任何擔憂)。
您可能會發現這個有趣的還有:Entity Framework and Connection Pooling
我建議做[連接池】一些研究(https://asktom.oracle.com/pls/asktom/f?p=100:11: 0 :::: P11_QUESTION_ID:22140261281764),NO不使用靜態類。 – Steve 2014-10-31 16:38:37