使用連接池可以提高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
塊語法時,即使代碼塊異常退出,也可以確保自動關閉和釋放資源。