2014-11-20 107 views
0

我目前正在研究一個web應用程序,我需要在我的MYSQL數據庫上保存一些數據。 Db和Web服務器安裝在不同的主機上。與數據庫的永久連接?

我正在使用Java Servlets,JSP和MYSQL。

我的問題是:是否應該在啓動時建立永久連接並保存到服務器上下文中,還是每個查詢都應該有臨時連接?

+0

通常你會使用一個連接池來保存一個(可配置的)連接數量或多或少的無限連接。 – Thor84no 2014-11-20 23:52:25

+0

如果你最終沒有使用連接池,那麼對每個查詢使用一個連接而不是每個servlet請求。 – developerwjk 2014-11-21 00:12:56

回答

0

通常的做法是使用連接池。

連接池保留通常少量的打開連接(連接到數據庫)併爲您的應用程序提供抽象。

這樣,您的應用程序將避免查找服務器,建立連接,關閉連接等在每個查詢上的開銷,這會犧牲性能。

同時,連接池可以避免連接嘗試使用相同數據庫的情況。

通常情況下,只要容器處於啓用狀態,這些連接就會處於活動狀態,因爲這取決於容器管理該池。

這個link描述了Tomcat如何使用commons-dbcp庫提供JDBC連接池。