2013-10-07 53 views
9

對於SQL連接池,爲什麼我們需要設置最小池大小?由於連接將保存在連接池中並重用,爲什麼我們需要保持最小池大小指定的實時連接?謝謝。爲什麼我們需要在ConnectionString中設置最小池大小

+0

你爲什麼要?如果你沒有指定最小尺寸爲0 –

+0

@TimSchmelter我想他想知道我們需要什麼嗎?有這個目的嗎? – Ehsan

+0

@TimSchmelter是的我的問題是什麼是有最小池大小的目的 – Helic

回答

12

打開和維護連接非常昂貴,所以如果您知道需要多個連接(總是),最好指定MinPoolSize,因爲這樣可以確保這些連接可用。

另外,從MSDN

如果MinPoolSize或者未連接字符串中指定或指定爲零 ,池中的連接將一個 閒置一段時間後關閉。但是,如果指定的MinPoolSize大於零,則連接池將不會被銷燬,直到AppDomain卸載並且過程結束。維護非活動或空池 涉及最小的系統開銷。

+0

謝謝蒂姆!你是怎麼找到這個的?我在網上搜索了很多地方,但沒有找到這個偉大的規範。 – Helic

+1

我剛剛查看了MSDN頁面並搜索了'MinPoolSize'。 –

3

爲什麼我們需要保持在最小池大小

指定活動連接正如你可能知道,在連接創建是資源密集型的工作。因此,如果您的應用程序即使閒置數小時後仍需要一致的響應時間,您也可以選擇將其設置爲小數字,例如5。在這種情況下,第一個用戶請求不必等待這些數據庫連接建立。您可以閱讀彙集here的詳細信息。

+3

謝謝。因此,如果我打開連接池,但最小池大小爲0,則連接可以在一段時間後重新使用,但會在很長一段時間後關閉。如果我將最小池大小設置爲5,那麼至少有5個連接將永遠保持打開狀態?我對嗎?謝謝 – Helic

+0

是的,你是對的。 – Ehsan

相關問題