ADO.NET數(shù)據(jù)連接池剖析建站知識(shí)
導(dǎo)讀:建站知識(shí)本篇文章起源于在GCR MVP Open Day的時(shí)候和C# MVP討論連接池的概念而來的。因此單獨(dú)寫一篇文章剖析一下連接池高端網(wǎng)站建設(shè)seo網(wǎng)站優(yōu)化。
本篇文章起源于在GCR MVP Open Day的時(shí)候和C# MVP張響討論連接池的概念而來的。因此單獨(dú)寫一篇文章剖析一下連接池。 為什么需要連接池 剖析一個(gè)技術(shù)第一個(gè)要問的是,這項(xiàng)技術(shù)為什么存在。 對于每一個(gè)到SQL Server的連接,都需要經(jīng)歷TCP/IP協(xié)議的三次握手,身份認(rèn)證,在SQL Server里建立連接,分配資源等。而當(dāng)客戶端關(guān)閉連接時(shí),客戶端就會(huì)和SQL Server終止物理連接。但是,我們做過數(shù)據(jù)庫開發(fā)的人都知道,每次操作完后關(guān)閉連接是再正常不過的事了,一個(gè)應(yīng)用程序即使在負(fù)載不大的情況下也需要不停的連接SQL Server和關(guān)閉連接,同一個(gè)應(yīng)用程序同時(shí)也可能存在多個(gè)連接。 因此,如果不斷的這樣建立和關(guān)閉連接,會(huì)是非常浪費(fèi)資源的做法。因此Ado.net中存在連接池這種機(jī)制。在對SQL Server來說的客戶端的應(yīng)用程序進(jìn)程中維護(hù)連接池。統(tǒng)一管理Ado.net和SQL Server的連接,既連接池保持和SQL Server的連接,當(dāng)Connection.Open()時(shí),僅僅從連接池中分配一個(gè)已經(jīng)和SQL Server建立的連接,當(dāng)Connection.Close()時(shí),也并不是和SQL Server物理斷開連接,僅僅是將連接進(jìn)行回收。 因此,連接池總是能維護(hù)一定數(shù)量的和SQL Server的連接,以便應(yīng)用程序反復(fù)使用這些連接以減少性能損耗。重置連接的sys.sp_reset_connection 連接是有上下文的,比如說當(dāng)前連接有未提交的事務(wù),存在可用的游標(biāo),存在對應(yīng)的臨時(shí)表。因此為了便于連接重復(fù)使用,使得下一個(gè)連接不會(huì)收到上一個(gè)連接的影響,SQL Server通過sys.sp_reset_c公司網(wǎng)站建設(shè)onnection來清除當(dāng)前連接的上下文,以便另一個(gè)連接繼續(xù)使用。當(dāng)在Ado.net中調(diào)用了Connection.Close()時(shí),會(huì)觸發(fā)sys.sp_reset_connection。這個(gè)系統(tǒng)存儲(chǔ)過程大概會(huì)做如下事情: 關(guān)閉游標(biāo) 清除臨時(shí)對象,比如臨時(shí)表 釋放鎖 重置Set選項(xiàng) 重置統(tǒng)計(jì)信息 回滾未提交的事務(wù) 切換到連接的默認(rèn)數(shù)據(jù)庫 重置Trace Flag 此外,根據(jù)BOL上的信息:
復(fù)制代碼 代碼如下:
"The sp_reset_connection stored procedure is used by SQL Server to support remote stored procedure calls in a transaction. This stored procedure also causes Audit Login and Audit Logout events to fire when a connection is reused from a connection pool."
可以知道不能顯式的在SQL Server中調(diào)用sys.sp_reset_connection,此外,這個(gè)方法還會(huì)觸發(fā)Audit Login和Audit Logout事件。一個(gè)簡單的示例 下面我們通過一個(gè)簡單的示例來看連接池的使用: 首先我分別使用四個(gè)連接,其中第一個(gè)和第二個(gè)連接之間有10秒的等待時(shí)間:復(fù)制代碼 代碼如下:
聲明: 本文由我的SEOUC技術(shù)文章主頁發(fā)布于:2023-05-24 ,文章ADO.NET數(shù)據(jù)連接池剖析建站知識(shí)主要講述標(biāo)簽,標(biāo)題,ADO.NET數(shù)據(jù)連接池剖析建站知識(shí)1網(wǎng)站建設(shè)源碼以及服務(wù)器配置搭建相關(guān)技術(shù)文章。轉(zhuǎn)載請保留鏈接: http://www.bifwcx.com/article/web_6603.html
為你推薦與ADO.NET數(shù)據(jù)連接池剖析建站知識(shí)相關(guān)的文章
-
通王TWCMS 2.0.3網(wǎng)站模板程序下載
(126)人喜歡 2024-01-15 -
Windows官方原版在哪里下載
(175)人喜歡 2024-01-15 -
WordPress網(wǎng)站模板發(fā)帖標(biāo)題顏色設(shè)置
(131)人喜歡 2024-01-07 -
修改discuz論壇帖子標(biāo)題80字符的長度限制
(249)人喜歡 2024-01-07 -
wordpress程序調(diào)用不帶超鏈接的Tag標(biāo)簽
(234)人喜歡 2024-01-05 -
網(wǎng)站在不同時(shí)期需調(diào)整內(nèi)容更新的方向
(112)人喜歡 2023-08-12