SQL Server 連接池 (ADO.NET)
2012/3/16 15:54:06
連接到數據庫服務器通常由幾個需要很長時間的步驟組成。必須建立物理通道(例如套接字或命名管道),必須與服務器進行初次握手,必須分析連接字符串信息,必須由服務器對連接進行身份驗證,必須運行檢查以便在當前事務中登記,等等。

實際上,大多數應用程序僅使用一個或幾個不同的連接配置。這意味著在執行應用程序期間,許多相同的連接將反復地打開和關閉。為了使打開連接花費的系統開銷最小,ADO.NET 使用稱為連接池的優化方法。

連接池使新連接必須打開的次數得以減少。池進程保持物理連接的所有權。通過為每個給定的連接配置保留一組活動連接來管理連接。每當用戶在連接上調用 Open 時,池進程就會查找池中可用的連接。如果某個池連接可用,會將該連接返回給調用者,而不是打開新連接。應用程序在該連接上調用 Close 時,池進程會將連接返回到活動連接池集中,而不是關閉連接。連接返回到池中之后,即可在下一個 Open 調用中重復使用。

只有配置相同的連接可以建立池連接。ADO.NET 同時保留多個池,每種配置各一個。在使用集成的安全性時,連接按照連接字符串以及 Windows 標識分到多個池中。還根據連接是否已在事務中登記來建立池連接。

池連接可以顯著提高應用程序的性能和可縮放性。默認情況下,在 ADO.NET 中啟用連接池。除非顯式禁用,否則,在應用程序中打開和關閉連接時,池進程會對連接進行優化。還可以提供幾個連接字符串修飾符來控制連接池的行為。有關更多信息,請參見本主題后面的“使用連接字符串關鍵字控制連接池”。
池的創建和分配

在初次打開連接時,將根據完全匹配算法創建連接池,該算法將池與連接中的連接字符串關聯。 每個連接池都與一個不同的連接字符串相關聯。 打開新連接時,如果連接字符串并非與現有池完全匹配,將創建一個新池。 按進程、應用程序域、連接字符串以及 Windows 標識(在使用集成的安全性時)來建立池連接。 連接字符串還必須是完全匹配的;按不同順序為同一連接提供的關鍵字將分到單獨的池中。

在以下 C# 示例中創建了三個新的 SqlConnection 對象,但是管理時只需要兩個連接池。 注意,根據為 Initial Catalog 分配的值,第一個和第二個連接字符串有所不同。

using (SqlConnection connection = new SqlConnection(
  "Integrated Security=SSPI;Initial Catalog=Northwind"))
    {
        connection.Open();     
        // Pool A is created.
    }

using (SqlConnection connection = new SqlConnection(
  "Integrated Security=SSPI;Initial Catalog=pubs"))
    {
        connection.Open();     
        // Pool B is created because the connection strings differ.
    }

using (SqlConnection connection = new SqlConnection(
  "Integrated Security=SSPI;Initial Catalog=Northwind"))
    {
        connection.Open();     
        // The connection string matches pool A.
    }

如果 MinPoolSize 在連接字符串中未指定或指定為零,池中的連接將在一段時間不活動后關閉。但是,如果指定的 MinPoolSize 大于零,在 AppDomain 被卸載并且進程結束之前,連接池不會被破壞。非活動或空池的維護只需要最少的系統開銷。
注意注意

當出現故障轉移等錯誤時,會自動清除池。
添加連接

連接池是為每個唯一的連接字符串創建的。 當創建一個池后,將創建多個連接對象并將其添加到該池中,以滿足最小池大小的要求。 連接根據需要添加到池中,但是不能超過指定的最大池大小(默認值為 100)。 連接在關閉或斷開時釋放回池中。

在請求 SqlConnection 對象時,如果存在可用的連接,將從池中獲取該對象。 連接要可用,必須未使用,具有匹

下一頁
返回列表
返回首頁 主站蜘蛛池模板: 我的初次内射欧美成人影视| 欧美黑人疯狂性受xxxxx喷水| 国产日本欧美在线观看| 99久热只有精品视频免费看| 成年免费视频黄网站在线观看| 久久青青成人亚洲精品| 欧美日韩国产成人综合在线| 免费人成年激情视频在线观看 | 天天操天天干天天操| 中文字幕一区二区三区免费视频| 日韩欧美中文在线| 亚洲a视频在线观看| 欧美激情一区二区三区免费观看| 低头看我是怎么c哭你的细节| 绿巨人晚上彻底放飞自己| 国产中文字幕电影| 高h辣肉嗨文公交车| 国产欧美精品一区二区三区-老狼| 91久久大香线蕉| 外国毛片在线观看| www.日本高清视频| 成人au免费视频影院| 中文字幕高清在线| 日本免费网站在线观看| 久久精品国产2020观看福利| 欧美xxxx18动漫| 亚洲国产欧美精品一区二区三区| 污污小视频在线观看| 伊人五月天婷婷| 穿长筒袜的有夫之妇hd中文| 又色又爽又黄的视频网站| 色费女人18毛片a级毛片视频| 国产在线一区二区杨幂| 国产对白精品刺激一区二区| 国产激情з∠视频一区二区| 18禁裸男晨勃露j毛免费观看| 国产麻豆va精品视频| 99精品全国免费观看视频| 天天影视色香欲综合免费| wwwxxx在线观看| 好紧好爽欲yy18p|