【发布时间】:2011-05-16 06:08:54
【问题描述】:
我有一个连接到 SQL Server 2008 的 Winforms 程序。
有 100 个用户连接到这个数据库并且
运行搜索查询 --> 并更新数据库。
我在程序启动时打开连接,在程序结束时关闭。
这是正确的做法吗?
打开连接 -> 运行查询 -> 更新 -> 并关闭连接更好吗?
提前致谢
【问题讨论】:
标签: c# sql-server sql-server-2008
我有一个连接到 SQL Server 2008 的 Winforms 程序。
有 100 个用户连接到这个数据库并且
运行搜索查询 --> 并更新数据库。
我在程序启动时打开连接,在程序结束时关闭。
这是正确的做法吗?
打开连接 -> 运行查询 -> 更新 -> 并关闭连接更好吗?
提前致谢
【问题讨论】:
标签: c# sql-server sql-server-2008
打开连接更好吗-> 运行查询 -> 更新 -> 并关闭 连接?
是的,SQL Server 已经优化了连接和pooling is handled by ADO.Net。打开连接使用它来获得你想要的,然后关闭它。让 SQL 管理其余部分。
来自 MSDN(以上来源):
我们强烈建议您始终 关闭连接 完成使用它,以便 连接将返回到 游泳池。
【讨论】:
这是一个非常古老的问题,我相信它已经在几年前得到了回答。
始终,启动连接 -> 运行 SQL -> 关闭。
让连接池担心打开和关闭连接的成本。如果您继续使用相同的连接字符串(可通过使用Integrated Security 实现),您很少会打开新连接并恢复现有连接。
【讨论】:
如果您保持数据库连接处于打开状态,您就会为该任务保留那么多内存。因此,性能可能会受到影响。另外,如果程序中出现严重错误并提前退出,该连接可能不会自动释放。
【讨论】: