簡體   English   中英

在整個運行時期間保持JDBC-MySQL連接並僅在執行結束時關閉它是否有意義?

[英]Does it make sense to keep a JDBC-MySQL connection during the whole runtime and only close it at the end of execution?

我正在編寫必須與MySQL數據庫進行大量通信的Java服務器應用程序。 我正在使用JDBC連接到數據庫。

現在,我應該創建一個Connection並在整個運行時使用它嗎?

還是在需要與數據庫通信時始終創建一個新的Connection

哪種解決方案更好?

您可能需要使用jdbc連接池。 斷開連接的時間過長可能會導致奇怪的超時錯誤等。

讓我們看一下,好吧,假設您有一個應用程序,並且打開時有一個連接處於打開狀態,直到您在應用程序中的整個時間(直到關閉它),這都會占用大量資源,因此您決定使用它內部方法,像這樣

   public static void(){
       //open connection
      //doing stuff
       connection.Close();
}

因此,每次使用該方法時,都將打開然后關閉連接,這意味着您在避免第一個問題。 但是,打開和關閉連接可能導致更多的資源使用。

因此, 解決方案是使用連接池,這將使您可以創建連接對象池,每次不需要它時,都無需處置該連接,而是將此連接返回到池中,等待您重用它。

解決方法是
使用jdbc連接池。
使用JDBC Type 3驅動程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM