理解ADO.NET中的连接池,为什么频繁建立连接反而耗时很短?

最近在开发一款WPF上位机,涉及到数据库相关知识,总结在此。

目录

连接池

在C#中,我们使用以下代码进行数据库连接,其中strSqlConn为连接字符串。

using (SqlConnection sqlconn = new SqlConnection(strSqlConn))
            {
                sqlconn.Open();                
            }

尝试后不难发现,在上位机连接数据库时,耗时很久。因此,不少朋友在做进一步数据处理等开发时,不禁会产生疑问:如果需要频繁地从下位机获取数据,每次都需要重新建立连接,岂不是需要占用大量的时间资源?

博主本人也产生了这个疑问,查阅资料后,发现ADO.NET已经为我们考虑了这个问题,并提供了解决方案,那就是 连接池

当一条新连接被创建后,会同时创建一个连接池,即使连接关闭,连接池仍然存在(当然, 连接池管理器会自动检测并移除无效的连接池);若再用同样的连接字符串创建新连接,就会从已有的连接池中直接返回目标连接,节省了创建新连接的大量时间。

举个例子,就好像平时将文件夹放进回收站,但又不清空回收站,这样一来,需要用到该文件夹时,直接从回收站进行还原,而不需要新建一个文件夹。

关于连接池的更具体讲解,我认为 @刘皓的博客 讲得非常好,感兴趣的朋友可进一步学习。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

城外南风起

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值