为每个查询创建新的 SQL 连接是否有优势
本文关键字:是否 连接 SQL 查询 创建 | 更新日期: 2023-09-27 17:57:12
我正在尝试设计一个连接到SQL数据库的高效应用程序,我想知道为每个SQL查询创建SQL连接的优点/缺点是什么,例如,就像下面的代码一样,创建一个设置连接一次的类,这样您就可以在类中需要它时调用它。
class SqlQuery
{
SqlConnection Connection = new SqlConnection(@myConnectionString);
public void fillInfoData()
{
SqlCommand updateCommand = new SqlCommand(
@"my sql query", Connection);
Connection.Open();
updateCommand.ExecuteNonQuery();
Connection.Close();
}
}
还是应该为每个新查询创建一个新连接?
- 编辑:Jon Skeet建议为每个查询创建一个新连接,我想知道为什么?
- 编辑2:他在这个答案中陈述了这一点。
每个查询打开一个连接,然后在关闭它时,它会返回到连接池,框架将管理其余部分
因此,您不必担心保持连接活动,超时等...
MSDN 文章
https://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx
我认为
他的意思是不要保持打开的全局连接对象。但是您需要在需要时创建一个SqlConnection
,在该点执行所需的所有查询(不是每个查询都有一个连接),然后关闭连接。
因此,如果你有一堆查询需要执行,你不需要为每个查询提供一个sql连接,而一个就足够了。但是,例如,如果每次用户单击按钮时都执行查询,则最好在每次单击时打开连接,因为这样就可以更轻松地管理关闭和处置连接。