2009-08-16 48 views
1

我有一個運行24/7的java程序。它只能從上午9點到下午3點每3秒訪問一次mysql數據庫。在這種情況下,我應該何時打開和關閉MySql連接?Java的mysql連接時間

  1. 我應該每3秒打開關閉一次嗎?

  2. 我應該在9.am開門,並在3.pm關門?

  3. 我應該在程序啓動時打開一次,並且永遠不要關閉它。但是當連接自動關閉並拋出異常時重新連接?

回答

3

爲什麼不簡單地使用連接池。如果這太繁瑣,因爲連接會頻繁使用,您可以重複使用同一個imho。

+0

我在想連接池一次只能連接多個連接。它可以幫助一個連接嗎? – Prabu 2009-08-16 18:04:12

+0

連接池還可以管理與連接有關的其他事情,例如,在連接斷開連接時自動重新連接。 – Jesper 2009-08-16 18:58:54

+0

我沒有找到任何示例或文檔在java獨立應用程序中執行連接池。例如 – Prabu 2009-08-17 01:40:57

2
  1. 確實,建立和拆除MySQL連接相對便宜(與Oracle相比),每3秒做一次就浪費資源。我會緩存連接並保存每次創建新數據庫連接的開銷。
  2. 這很大程度上取決於情況。你是通過廣域網連接的,是與其他應用程序共享的MySQL服務器,還是你是唯一的用戶(或者至少你的應用程序會創建大部分的負載?)如果數據庫主要是你的,並且已經足夠接近,每天建立和拆除連接的好處很小。
  3. 這是大多數應用程序所做的,這是我推薦你默認做的。

如果您不想在一夜之間建立連接,則可以將連接池配置爲按需打開連接,並在閒置一段時間後關閉它們 - 例如15分鐘。這樣可以讓您隨時查詢數據庫,並且不會有太多空閒連接。