C#中通过连接池连接mysql数据库

      使用连接池可以提高C#程序连接MySQL数据库的性能,使得不必每次建立新的物理连接。

 

using System.Data;
using MySql.Data.MySqlClient;

namespace ConsoleApp1
{
    class Program
    {
        private const int MAX_POOL_SIZE = 100; // 设置最大连接数

        static void Main(string[] args)
        {
            string connectionString = "Server=myServerAddress;Port=3306;Database=myDataBase;Uid=myUsername;Pwd=myPassword;";
            using (MySqlConnection connection = new MySqlConnection(connectionString))
            {
                // 配置连接池和相关属性
                var builder = new MySqlConnectionStringBuilder(connectionString);
                builder.Pooling = true;
                builder.MinimumPoolSize = 5;
                builder.MaximumPoolSize = MAX_POOL_SIZE;
                connection.ConnectionString = builder.ConnectionString;

                // 打开连接并执行操作
                connection.Open();
                using (MySqlCommand command = new MySqlCommand("SELECT * FROM my_table", connection))
                {
                    using (var reader = command.ExecuteReader())
                    {
                        while (reader.Read())
                        {
                            // 处理查询结果
                        }
                    }
                }
            }
        }
    }
}

  

       在这个代码段中,我们首先创建一个 string 类型的 connectionString 变量,它包含连接字符串信息。然后,我们将这个变量传递给一个新创建的 MySqlConnection 对象,该对象表示数据库连接。

接下来,我们使用 MySqlConnectionStringBuilder 对象设置连接池中的一些配置选项,如 PoolingMinimumPoolSizeMaximumPoolSize。接着,我们调用 Open() 方法打开连接,并使用 MySqlCommand 对象执行一个简单的查询操作。

      在使用完这个连接后,我们应该及时地关闭它,以便将其释放回连接池中。需要注意的是,在使用 using 块语法时,即使代码块异常退出,也可以确保自动关闭和释放资源。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章