西西軟件下載最安全的下載網(wǎng)站、值得信賴的軟件下載站!

首頁編程開發(fā)其它知識 → SQL Server的Ado.net連接池

SQL Server的Ado.net連接池

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:百度搜索時間:2012/11/15 9:48:17字體大小:A-A+

作者:西西點擊:0次評論:0次標簽: SQLServer

2 頁 簡單示例

一個簡單的示例

下面我們通過一個簡單的示例來看連接池的使用:

首先我分別使用四個連接,其中第一個和第二個連接之間有10秒的等待時間:

String ConnectionString = "data source=.\\sql2012;database=AdventureWorks;uid=sa;pwd=sasasa";
        SqlConnection cn1=new SqlConnection(ConnectionString);
        SqlCommand cmd1=cn1.CreateCommand();
        cmd1.CommandText="SELECT * FROM dbo.ABCD";
        cn1.Open();
        cmd1.ExecuteReader();
        cn1.Close();
        Response.Write("連接關(guān)閉時間:"+DateTime.Now.ToLongTimeString()+"
"); System.Threading.Thread.Sleep(10000); SqlConnection cn2=new SqlConnection(ConnectionString); SqlCommand cmd2=cn2.CreateCommand(); cmd2.CommandText="SELECT * FROM dbo.ABCD"; cn2.Open(); cmd2.ExecuteReader(); cn2.Close(); Response.Write("連接關(guān)閉時間:"+DateTime.Now.ToLongTimeString()+"
"); SqlConnection cn3=new SqlConnection(ConnectionString); SqlCommand cmd3=cn3.CreateCommand(); cmd3.CommandText="SELECT * FROM dbo.ABCD"; cn3.Open(); cmd3.ExecuteReader(); cn3.Close(); Response.Write("連接關(guān)閉時間:"+DateTime.Now.ToLongTimeString()+"
"); System.Threading.Thread.Sleep(1500); SqlConnection cn4=new SqlConnection(ConnectionString); SqlCommand cmd4=cn4.CreateCommand(); cmd4.CommandText="SELECT * FROM dbo.ABCD"; cn4.Open(); cmd4.ExecuteReader(); cn4.Close(); Response.Write("連接關(guān)閉時間:"+DateTime.Now.ToLongTimeString()+"
");

下面我們通過Profile截圖:

 

我們首先可以看到,每一次Close()方法都會觸發(fā)exec sp_reset_connection

此外,我們在中間等待的10秒還可以看到SP51是不斷的,剩下幾個連接全部用的是SPID51這個連接,雖然Ado.net Close了好幾次,但實際上物理連接是沒有中斷的。

因此可以看出,連接池大大的提升了效率。

本文導(dǎo)航

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)
    推薦文章

    沒有數(shù)據(jù)