MySql连接没有关闭.net MySql连接器

本文关键字:MySql net 连接器 连接 | 更新日期: 2023-09-27 18:10:37

MySql连接进入睡眠模式而不是关闭。我正在使用MySql。使用6.5.4版本的数据与mysql通信。我不确定我在下面的代码中做错了什么。

   try
        {
            using (var conn = new MySqlConnection(strConnection))
            {
                conn.Open();
                using (var cmd = new MySqlCommand(strSQLStatement, conn))
                {
                    var adapter = new MySqlDataAdapter(cmd);
                    adapter.Fill(ds);
                }
            }
        }
        catch (Exception ex)
        {
            ErrorLogger.WriteError(string.Format("Failed query {0} with stack trace {1} ", strSQLStatement, ex), "GetData");
        }

MySql连接没有关闭.net MySql连接器

您的连接正在被添加到连接池中,此功能在默认情况下是开启的,因此每当连接关闭时,它就会被添加到连接池中。您可以通过连接字符串参数Pooling=false或静态方法MySqlConnection.ClearPool(connection)MySqlConnection.ClearAllPools()来解决此问题…

选自官方文档

Connector/Net支持连接池,以便在数据库密集型应用程序中获得更好的性能和可伸缩性。这是默认启用的。您可以关闭它或使用连接字符串选项池,连接重置,连接寿命,缓存服务器属性,最大池大小和最小池大小调整其性能特征。

连接池的工作原理是,当客户端处理MySqlConnection时,保持与服务器的本地连接处于活动状态。随后,如果打开一个新的MySqlConnection对象,它将从连接池中创建,而不是创建一个新的本机连接。这可以提高性能。