下面用乙個簡單的例子來說明下:
**如下:
**
using在textbox裡設定了連線池中能夠容納連線的最大數:5個。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)}}
如果您點選「openconn」,你點選5次,這個時候在sqlserver management studio中執行sp_who2儲存過程可以看到以下結果:
如果你再次點選"openconn"這個時候就出現異常「」。
當然,你也可以配置min pool size,可以將上述的連線字串中的max改成min,你會發現,你只要點選一次"openconn"就會發現直接開啟了5個連線,這個就是最小連線的含義。當你想要清除該連線字串相關的連線的時候,也就是清除連線池中相關的連線,你可以用sqlconnection.clearpool(conn);
大家可以自己親手體驗一下這個簡單的demo,然後再去體會連線池的作用。
如何理解 資料庫連線池
對於乙個簡單的資料庫應用,由於對於資料庫的訪問不是很頻繁。這時可以簡單地在需要訪問資料庫時,就新建立乙個連線,用完後就關閉它,這樣做也不會帶來什麼明顯的效能上的開銷。但是對於乙個複雜的資料庫應用,情況就完全不同了。頻繁的建立 關閉連線,會極大的減低系統的效能,因為對於連線的使用成了系統效能的瓶頸。連...
如何理解 資料庫連線池
對於乙個簡單的資料庫應用,由於對於資料庫的訪問不是很頻繁。這時可以簡單地在需要訪問資料庫時,就新建立乙個連線,用完後就關閉它,這樣做也不會帶來什麼明顯的效能上的開銷。但是對於乙個複雜的資料庫應用,情況就完全不同了。頻繁的建立 關閉連線,會極大的減低系統的效能,因為對於連線的使用成了系統效能的瓶頸。連...
資料庫連線池理解
1 資料庫連線池中的連線,本質是一種物件,建立連線池,可以減少物件初始化 建立的時間,這個和執行緒池有點類似。都是為了節省建立時間,資源復用。2 和連線池一樣,資料庫連線池建立的一般也有最大,最小值,即最大連線數量 連線池能申請的最大數量,超過了最大數量後,後續申請將加入到佇列中等待 和最小鏈結數量...