ADO.NET 数据库连接池

数据库连接步骤一般为:建立物理通道(例如套接字或命名管道),与服务器进行初次握手,分析连接字符串信息,由服务器对连接进行身份验证,运行检查以便在当前事务中登记。。。

当使用连接字符串首次做连接请求(OPEN)时,ADO.NET以该字符串为标识设置连接池。当再有相同连接字符串的请求时,就会从连接池中取来直接用,省略的一般建立连接的步骤。ADO.NET默认连接池是打开的,如果禁用连接池显示设置pooling=false。

 

string connStringUsePool = "server=.;database=master;uid=sa;pwd=123;pooling=true;connection lifetime=0;min pool size = 1;max pool size=500";

        string connStringUnUsePool = "server=.;database=master;uid=sa;pwd=123;pooling=false"; 

         private void button1_Click(object sender, EventArgs e)

        {
            int count = 200;

            DateTime start = DateTime.Now;

            for (int i = 0; i < count; i++)
            {
                using (SqlConnection conn = new SqlConnection(connStringUsePool))
                 {

                    conn.Open();
                    conn.Close();

                 }

            }
            DateTime end = DateTime.Now;

            TimeSpan ts = end - start;

            label1.Text = "使用连接池"+ts.TotalMilliseconds.ToString();

            start = DateTime.Now;
            for (int i = 0; i < count; i++)
            {

                 using (SqlConnection conn = new SqlConnection(connStringUnUsePool))
                {

                    conn.Open();
                    conn.Close();
                }
            }
            end = DateTime.Now;
            ts = end - start;
            label2.Text = "不使用连接池" + ts.TotalMilliseconds.ToString();
         }

参考:http://www.cnblogs.com/px7034/archive/2010/08/26/1809356.html

 

posted @ 2010-08-27 15:11  求吾  阅读(453)  评论(0编辑  收藏  举报