好的做法,我創建Delphi應用程序與我的數據庫連接。在DB連接
在某些情況下我的應用程序需要在第二個寫多個條目,在其他時間它要餓死了幾分鐘。
所以它是沒有意義的打開,始終緊密連接,或保持開放幾個小時。
所以我認爲有關創建計時器(間隔= 1000),並且定時器 將下降到0,從10的整數上的每個蜱。當int爲 0連接將被關閉。
與db交互的每種方法都會運行另一種方法,即 將int設置爲10,並檢查連接是否打開,如果不是,則打開連接 。
這是在DB處理一個很好的做法,或有任何其他建議。
好的做法,我創建Delphi應用程序與我的數據庫連接。在DB連接
在某些情況下我的應用程序需要在第二個寫多個條目,在其他時間它要餓死了幾分鐘。
所以它是沒有意義的打開,始終緊密連接,或保持開放幾個小時。
所以我認爲有關創建計時器(間隔= 1000),並且定時器 將下降到0,從10的整數上的每個蜱。當int爲 0連接將被關閉。
與db交互的每種方法都會運行另一種方法,即 將int設置爲10,並檢查連接是否打開,如果不是,則打開連接 。
這是在DB處理一個很好的做法,或有任何其他建議。
wait_timeout
/interactive_timeout
時,MySQL服務器將自動關閉連接。甲骨文將保持您的連接,只要您需要。所以,應用程序必須能夠處理該問題。因此,基於您的DBMS,數據訪問組件,應用程序需求,您必須決定如何執行。例如:
Oracle可以被配置成使用「共享服務器」模式(加連接池和會話複用)時,有許多連接,其不要不會一直使用數據庫。 OP建議的方法只會以更糟糕的方式重複已有的功能。從客戶端角度來看,會話保持打開狀態(無需重新初始化),而服務器將節省資源。 – 2012-02-07 15:21:39
是的,正確的,許多事情可以從服務器端進行配置。仍然要關閉連接,當不需要時是一個好習慣。類似於調用.Free,當不需要對象時。 – 2012-02-07 15:56:05
我同意連接在不需要時可以關閉,但這應該是「確定性調用」,就像.Free,而不是有時會觸發的計時器。還應考慮重新初始化所有數據庫依賴對象的成本。恕我直言,如果有一個適當的配置,以允許持久連接,同時不影響服務器性能/資源使用情況,在嘗試其他解決方案之前應該考慮它。 – 2012-02-07 20:51:04
在我看來,如果您的應用程序用戶活動並不意味着重連接/斷開連接操作,則不需要增加更多的複雜性。
請澄清這些注意事項1)您使用什麼連接組件? 2)你是針對企業應用程序嗎?謝謝。 – menjaraz 2012-02-07 05:52:31
另外,哪個數據庫? – Harriv 2012-02-07 06:38:04
我使用的MySQL,並且它是一個簡單的應用程序(未企業級) – VibeeshanRC 2012-02-07 07:02:18