C# DataTable 和 SqlDataAdapter 打开、关闭连接和性能问题

C# DataTable and SqlDataAdapter open, close connection and performance issue

这是我用来从数据库中获取数据的函数

 public static DataTable getDataTable(string sql, string tableName)
    {
        DataTable dt = new DataTable();
        try
        {
            SqlDataAdapter da = new SqlDataAdapter(sql, new SqlConnection(strConn));
            da.Fill(dt);
            dt.TableName = tableName;
        }
        catch (Exception)
        {
            dt = null;
        }
        return dt;
    }

问题是:

  1. 它会自动打开和关闭连接吗?因为我们似乎只将 sql 查询传递给 SqlDataAdapter,它没有打开或关闭连接。
  2. 是否会导致应用程序性能下降?
  3. 它会导致服务器(内存)出现任何性能问题吗?

提前致谢。

希望对你有所帮助

答案 1: 如果我没记错的话,SQLConnection 在幕后管理连接池。

这是一篇关于这个主题的好文章: https://msdn.microsoft.com/en-us/library/ms971481.aspx

此外,最佳做法是使用 "using" 关键字来包装您的连接,因为它会在范围退出后自动关闭您的连接(有或没有例外)

  using(SqlConnection conn = new SqlConnection())
  {
    conn.Open();
    //Do Work with connection

  } //Connection automatically closes here without the need to call conn.Close()

答案2: Sql Connection open slow down or make application performance better

答案 3 :