使用连接池可以提高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
对象设置连接池中的一些配置选项,如 Pooling
、MinimumPoolSize
和 MaximumPoolSize
。接着,我们调用 Open()
方法打开连接,并使用 MySqlCommand
对象执行一个简单的查询操作。
在使用完这个连接后,我们应该及时地关闭它,以便将其释放回连接池中。需要注意的是,在使用 using
块语法时,即使代码块异常退出,也可以确保自动关闭和释放资源。