2011-04-14 50 views
1

我有幾個關於連接池和最佳實踐的簡單問題。 我正在計劃和編寫一個依賴於MySQL數據庫的小應用程序。在這個應用程序中,我使用可創建連接的模塊和插件。該應用程序可以直接訪問MySQL數據庫,它可能是連接到數據庫的唯一客戶端。小應用程序中的連接池

這是我的第一個問題:連接池是否合理?這是不相關的,還是應該禁用它?你有什麼經驗?

另一方面,在我的公司,我們開發另一個軟件,它有一個MySQL數據庫服務器和許多客戶端。每個客戶端都可以打開多個窗口,其中可以激活多個連接。這個軟件很可能會使用我的新應用程序的基本概念。客戶端直接與數據庫連接。所以我認爲編寫一個服務器應用程序來處理池和組織連接是很有意義的,對嗎?它會讓每個客戶使用它自己的連接池有多大的意義?我們正在談論1-10個連接的1-50個客戶端。

您認爲編寫小型服務器應用程序來處理連接池是最好的嗎?

我在問,因爲我不知道連接池何時合理,何時不合適,以及如何處理中小型客戶端應用程序。我正在尋找你的經驗的一些輸入。 :)我希望問題不要尷尬。 ^^

問候,
西蒙

P.S:這是一個基於Windows的應用程序。不是網絡服務。

回答

0

連接池將給你額外的性能,實際上沒有它性能可能是一個問題,即使對於一個小應用程序(這取決於調用數量等)。

考慮正確處理您的連接,以避免「達到最大池大小」錯誤和超時。一個好的做法是處理你的連接是這樣的:使用擔保比連接將被正確關閉/處置

using (SqlConnection conn = new SqlConnection(myConnectionString)) 
    { 
     conn.Open(); 
     doSomething(conn); 
    } 

。請檢查this文章,其中提供了一些可應用於MSSQL或MySQL的提示。

也考慮使用存儲過程。希望這可以幫助你開始。

+0

很晚回覆,對不起。您的帖子只對小型計劃有幫助。我對實際經驗更加好奇,而不是暗示入門。至於使用的部分。如果使用連接池,連接實際上並不實際關閉,它只是返回到池中,稍後關閉或重用。否則,我完全同意。在退出應用程序之前,人們也不應該忘記清理池,否則連接不能正常關閉。鏈接的文章有一些很好的信息,謝謝。 – Skalli 2011-09-13 07:53:06

相關問題