DbHelper 每次执行后会关闭connection 会影响效率吗

来看外星人 2010-02-07 05:02:15
如下面代码,放在using里面也就是说执行完后会关闭connection请问这样会影响效率吗?有什么更好的解决方案没有?我看到网上的DbHelper类基本上都是这样。

using (DbConnection connection = Provider.CreateConnection())
{
connection.ConnectionString = connectionString;
PrepareCommand(cmd, connection, null, cmdType, cmdText, commandParameters);
DbDataAdapter ap = Provider.CreateDataAdapter();
ap.SelectCommand = cmd;
DataSet st = new DataSet();
ap.Fill(st, "Result");
cmd.Parameters.Clear();
return st;
}
...全文
126 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
关闭的不是物理连接,而是逻辑连接。如果你误解了这个,才会影响开发工作。
Thr21ough 2010-02-07
  • 打赏
  • 举报
回复
影响不大,资源丰富的话基本上没有影响
ctwei86 2010-02-07
  • 打赏
  • 举报
回复
最好关闭,这是一个习惯,不过在你这里的写法里面可以不用关。
  • 打赏
  • 举报
回复
不用担心,用时打开,用完关闭是好习惯
.Net会为应用程序创建一个连接池,关闭连接后,连接并没有马上销毁,而是放在连接池中,当下次有连接请求时,.Net会在连接池中检查存在的连接,如果连接字符串完全一致,就打开连接池中的这个连接返回给程序调用
一段时间过后(默认大约半小时)没有使用就彻底销毁,有使用就重新计时,以此来提高数据库访问性能
当然,你可以在连接字符串中指定不使用连接池(或者清空连接池),这样数据库访问效率会受到影响

来看外星人 2010-02-07
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 xray2005 的回复:]
相比不关闭或糟糕的代码,这个影响你可以忽略不计。
[/Quote]
不关闭,下一次用会不会更快。把关闭对象放在应用程序结束的时候会不会更好?
xray2005 2010-02-07
  • 打赏
  • 举报
回复
相比不关闭或糟糕的代码,这个影响你可以忽略不计。

111,121

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧