開啟與關閉資料庫連接是比較費時的。為此,ADO.NET自動將資料庫連接存放在串連池中。串連池可以大大提高資料讀取效能,因為不必等待建立全新的資料庫連接,而可以直接利用串連池中現成的資料庫連接。關閉串連時,並不是實際關閉串連,而是將串連標為未用,放在串連池中,以備下一次啟用。如果在連接字串中提供相同的細節(同樣的資料庫、使用者名稱、口令等),則可以取得並返回池中的串連。然後可以用這個串連訪問資料庫。使用SqlConnection對象時,可以在連接字串中指定max pool size表示串連池中允許的最大串連數,預設為100,也可以指定min pool size表示串連池中允許的最小串連數,預設為0。
在連接字串中設定代碼如下:string cstr=“server=\\audi\server;database=oa;uid=sa;pwd=sa;max pool size=10;min pool size=5;connection timeout=10”
SqlConnection con=new SqlConnection(@cstr);上面的連接字串中對串連池的設定表示最初在串連池中產生五個SqlConnection對象並且串連池中最多可以儲存10個SqlConnection對象。如果要開啟新的SqlConnection對象時,串連池中的對象全部都在使用中,則請求要等待一個SqlConnection對象關閉,然後才返回對象,供程式使用。如果請求等待時間超過ConnectionTimeout屬性指定的秒數,則會拋出異常。
監視連結池化
要監視應用程式對連結池化的應用情況,可以使用隨SQL Server發行的Profiler工具,或隨微軟Windows 2000發行的效能監控器。
要利用SQL Server Profiler 監視連結池化,操作如下:
- 單擊開始,指向程式,指向Microsoft SQL Server,然後單擊Profiler運行Profiler。
- 在檔案菜單中,指向建立,然後單擊跟蹤。
- 提供連結內容,然後單擊確定。
- 在跟蹤屬性對話方塊中,單擊事件標籤。
- 在已選事件類別目錄列表中,確保審核登入和審核登出事件顯示在安全性稽核下面。
- 單擊運行開始跟蹤。在連結建立時,將會看到審核登入事件;在連結關閉時看到審核登出事件。
要通過效能監控器監視連結池化,操作如下:
- 單擊開始,指向程式,指向管理工具,然後單擊效能運行效能監控器。
- 在圖表背景中右擊,然後單擊增加計數器。
- 在效能物件下拉式清單方塊中,單擊SQL Server:通用統計。
- 在出現的列表中,單擊使用者連結。
- 單擊增加,然後單擊關閉。
注意 .NET架構的RTM版本將另外包含一組ADO .NET效能計數器(這些計數器能與效能監控器結合起來使用),這些計數器用於為SQL Server .NET資料供應器監視並積累連結池化狀態。