欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

ADO.NET連接池是什么

這篇文章主要講解了“ADO.NET連接池是什么”,文中的講解內(nèi)容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“ADO.NET連接池是什么”吧!

創(chuàng)新互聯(lián)建站是網(wǎng)站建設技術企業(yè),為成都企業(yè)提供專業(yè)的做網(wǎng)站、網(wǎng)站設計,網(wǎng)站設計,網(wǎng)站制作,網(wǎng)站改版等技術服務。擁有十年豐富建站經(jīng)驗和眾多成功案例,為您定制適合企業(yè)的網(wǎng)站。十年品質,值得信賴!

知道現(xiàn)在編程什么是最寶貴的?數(shù)據(jù)庫連接,它其實是很耗費資源的。這里我們就連接池這個問題我們來一起討論討論吧。數(shù)據(jù)庫連接池是為了更有效地利用數(shù)據(jù)庫連接的最重要措施。它對于一個大型的應用系統(tǒng)的性能至關重要,特別是Web應用。ADO.NET Data Provider(以下簡稱Data Provider)會幫我們管理連接池,所以有人說使用連接池就像游兒童池一樣輕松。但并不是說有了Data Provider程序員就萬事無憂的,不正確地使用連接池可能導致你的應用在池里淹死。

什么是ADO.NET連接池?

ADO.NET連接池是Data Provider提供的一個機制,使得應用程序使用的連接保存在連接池里而避免每次都要完成建立/關閉連接的完整過程。要理解連接池,先要理解程序里SqlConnection.Open()、SqlConnection.Close()和打開/關閉一個“物理連接”的關系。

Data Provider在收到連接請求時建立連接的完整過程是:先連接池里建立新的連接(即“邏輯連接”),然后建立該“邏輯連接”對應的“物理連接”。建立“邏輯連接”一定伴隨著建立“物理連接”。Data Provider關閉一個連接的完整過程是先關閉“邏輯連接”對應的“物理連接”然后銷毀“邏輯連接”。銷毀“邏輯連接”一定伴隨著關閉“物理連接”。SqlConnection.Open()是向Data Provider請求一個連接,Data Provider不一定需要完成建立連接的完整過程,可能只需要從連接池里取出一個可用的連接就可以;SqlConnection.Close()是請求關閉一個連接,Data Provider不一定需要完成關閉連接的完整過程,可能只需要把連接釋放回連接池就可以。

下面以一個例子來說明。本文例子都使用Console Application。我們使用操作系統(tǒng)的性能監(jiān)視器來比較使用連接池與否,數(shù)據(jù)庫的“物理連接”數(shù)量的不同。因為性能監(jiān)視器至少每一秒采集一次數(shù)據(jù),為方便觀察效果,代碼中Open和Close連接后都Sleep一秒。

SqlConnection con = new SqlConnection("server = .;  database = northwind;pooling = false;trusted_connection = true");  for(int i = 0;i < 10;i++)  {  try  {  con.Open();  System.Threading.Thread.Sleep(1000);  }  catch(Exception e){Console.WriteLine(e.Message);}  finally  {  con.Close();  System.Threading.Thread.Sleep(1000);  }  }

首先,不使用ADO.NET連接池做測試。以上程序中pooing = false表示不使用連接池,程序使用同一個連接串Open & Close了10次連接,使用性能計數(shù)器觀察SQL Server的“物理連接”數(shù)量。從下面的鋸齒圖可以看出每執(zhí)行一次con.Open(),SQLServer的“物理連接”數(shù)量都增加一,而每執(zhí)行一次con.Close(),SQLServer的“物理連接”數(shù)量都減少一。由于不使用連接池,每次Close連接的時候Data Provider需要把“邏輯連接”和“物理連接”都銷毀了,每次Open連接的時候Data Provider需要 建立“邏輯連接”和“物理連接”,鋸齒圖因此而成。

ADO.NET連接池是什么


下面啟用連接池再測試一次。把連接串的pooling參數(shù)改為true,另外在for循環(huán)后加上Console.Read()。

從下圖可以看出,從***次Open到第執(zhí)行完Console.Read()這段時間內(nèi),SQL Server的“物理連接”數(shù)量一直保持為1,直到關閉console應用程序的進程后SQL Server的“物理連接”數(shù)量才變?yōu)?。由于使用了連接池,每次Close連接的時候Data Provider只需把“邏輯連接”釋放回連接池,對應的“物理連接”則保持打開的狀態(tài)。每次Open連接的時候,Data Provider只需從連接池取出一個“邏輯連接”,這樣就可以使用其對應“物理連接”而不需建立新的“物理連接”,直線圖因此而成。

ADO.NET連接池是什么

<

感謝各位的閱讀,以上就是“ADO.NET連接池是什么”的內(nèi)容了,經(jīng)過本文的學習后,相信大家對ADO.NET連接池是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關知識點的文章,歡迎關注!

當前標題:ADO.NET連接池是什么
分享地址:http://www.chinadenli.net/article26/pesjjg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站營銷品牌網(wǎng)站制作網(wǎng)站收錄域名注冊微信公眾號小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉載內(nèi)容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站網(wǎng)頁設計