【问题标题】:Frequent Opening and Closing of MySQL Database over Cloud云上MySQL数据库的频繁开关机
【发布时间】:2021-03-08 10:48:56
【问题描述】:

我有一个本地服务器 MS-SQL,位于我们的一个分支机构中。我想每 1 分钟将新数据从本地服务器传输到 MySql 表(通过云)。

我编写了一个小型 C# 应用程序,它打开服务器连接、搜索新行并将其插入 MySql 数据库,然后关闭连接。

现在我的问题是,因为我每分钟都在不断地打开、更新和关闭 Mysql 连接;会有什么问题吗?是否有任何其他替代方法可以通过它建立与 MySql 数据库的单个连接,然后每分钟继续插入新行。 感谢您的宝贵支持。

下面是我用来打开、更新和关闭连接的代码部分:记住,下面的方法每分钟执行一次。

if (queryValues != "")
        {
            queryValues = queryValues.Remove(queryValues.Length - 1);
            query = query + queryValues + ")";
            MyCommand3 = new MySqlCommand(query, MyConn3);

            if (MyConn3.State == 0)
                MyConn3.Open();
            MyReader3 = null;
            MyReader3 = MyCommand3.ExecuteReader();     
            MyCommand3.Dispose();
            MyReader3.Dispose();
            MyConn3.Close();
        }

【问题讨论】:

    标签: c# mysql connection-pooling


    【解决方案1】:

    这不是问题。

    C# 的 MySQL 驱动程序 Connector/NET 默认提供 connection pooling。也就是说,它使您的程序和 MySQL 之间的连接保持打开状态,因此您可以在另一个 .Open() 操作中重复使用它。

    它只会在连接达到三分钟时关闭连接,因此您应该可以使用每分钟一次的操作。而且,它可以很好地管理诸如丢失连接之类的事情,因此您不必这样做。

    此外,打开连接并不是一项高开销的操作。只有每秒执行多次,开销才会失控。

    【讨论】:

      猜你喜欢
      • 2013-03-30
      • 2012-11-13
      • 2013-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-27
      • 2020-11-24
      • 1970-01-01
      相关资源
      最近更新 更多