我有一个连接到SQL Server 2008的Winforms程序。
有100个用户连接到此数据库和
运行搜索查询 - >并更新数据库。
程序启动时打开连接,程序结束时关闭。
这是正确的做法吗?
打开连接是否更好 - >运行查询 - >更新 - >并关闭连接?
提前致谢
答案 0 :(得分:4)
打开连接是否更好 - > 运行查询 - >更新 - >并关闭 连接?
是的,SQL Server已经优化了连接和pooling is handled by ADO.Net。打开连接使用它来获得你想要的东西然后关闭它。让SQL管理其余部分。
来自MSDN(上图来源):
我们强烈建议您永远 你什么时候关闭连接 完成后使用它 连接将返回到 池。
答案 1 :(得分:4)
这是一个非常古老的问题,我相信它已在几年前得到解答。
始终,开始连接 - >运行SQL - >关闭。
让连接池担心打开和关闭连接的成本。如果您继续使用相同的连接字符串(可通过集成安全性实现),则很少打开新连接并重新生成现有连接。
答案 2 :(得分:0)
如果您打开数据库连接,那么您将保留为该任务保留的大量内存。因此,性能可能会受到影响。另外,如果程序中存在严重错误并且过早退出,则该连接可能不会自动释放。