为每个查询创建新的 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:他在这个答案中陈述了这一点。

为每个查询创建新的 SQL 连接是否有优势

每个查询打开一个连接,然后在关闭它时,它会返回到连接池,框架将管理其余部分

因此,您不必担心保持连接活动,超时等...

MSDN 文章

https://msdn.microsoft.com/en-us/library/8xx3tyca(v=vs.110).aspx

我认为

他的意思是不要保持打开的全局连接对象。但是您需要在需要时创建一个SqlConnection,在该点执行所需的所有查询(不是每个查询都有一个连接),然后关闭连接。

因此,如果你有一堆查询需要执行,你不需要为每个查询提供一个sql连接,而一个就足够了。但是,例如,如果每次用户单击按钮时都执行查询,则最好在每次单击时打开连接,因为这样就可以更轻松地管理关闭和处置连接。