理解資料庫連線池

2022-02-11 00:56:21 字數 1289 閱讀 1303

下面用乙個簡單的例子來說明下:

**如下:

**

using

system;

using

system.collections.generic;

using

system.componentmodel;

using

system.data;

using

system.drawing;

using

system.linq;

using

system.text;

using

system.windows.forms;

using

system.data.sqlclient;

namespace

connectionpool

private

void

form1_load(

object

sender, eventargs e)

private

void

btnopen_click(

object

sender, eventargs e)

private

void

btnclose_click(

object

sender, eventargs e)}}

在textbox裡設定了連線池中能夠容納連線的最大數:5個。

如果您點選「openconn」,你點選5次,這個時候在sqlserver management studio中執行sp_who2儲存過程可以看到以下結果:

如果你再次點選"openconn"這個時候就出現異常「」。

當然,你也可以配置min pool size,可以將上述的連線字串中的max改成min,你會發現,你只要點選一次"openconn"就會發現直接開啟了5個連線,這個就是最小連線的含義。當你想要清除該連線字串相關的連線的時候,也就是清除連線池中相關的連線,你可以用sqlconnection.clearpool(conn);

大家可以自己親手體驗一下這個簡單的demo,然後再去體會連線池的作用。

如何理解 資料庫連線池

對於乙個簡單的資料庫應用,由於對於資料庫的訪問不是很頻繁。這時可以簡單地在需要訪問資料庫時,就新建立乙個連線,用完後就關閉它,這樣做也不會帶來什麼明顯的效能上的開銷。但是對於乙個複雜的資料庫應用,情況就完全不同了。頻繁的建立 關閉連線,會極大的減低系統的效能,因為對於連線的使用成了系統效能的瓶頸。連...

如何理解 資料庫連線池

對於乙個簡單的資料庫應用,由於對於資料庫的訪問不是很頻繁。這時可以簡單地在需要訪問資料庫時,就新建立乙個連線,用完後就關閉它,這樣做也不會帶來什麼明顯的效能上的開銷。但是對於乙個複雜的資料庫應用,情況就完全不同了。頻繁的建立 關閉連線,會極大的減低系統的效能,因為對於連線的使用成了系統效能的瓶頸。連...

資料庫連線池理解

1 資料庫連線池中的連線,本質是一種物件,建立連線池,可以減少物件初始化 建立的時間,這個和執行緒池有點類似。都是為了節省建立時間,資源復用。2 和連線池一樣,資料庫連線池建立的一般也有最大,最小值,即最大連線數量 連線池能申請的最大數量,超過了最大數量後,後續申請將加入到佇列中等待 和最小鏈結數量...