I have a multi-threaded app (WCF) that writes to a MySQL db. I want to use MySQL's built in connection pooling abilities. As far as I can tell, to do that, I should set `MySqlConnectionStringBuilder.MinimumPoolSize` to some value approximately equal to the number of threads I connect. Then Open/Close the connection for each call to the db. Is this correct? If not, what is the proper way to use pooling? Here is the function I use to send data to the db. It gets called by many threads throughout the day. Hundreds, maybe thousands of times per day. private static void execute(MySqlCommand cmd) { try { MySqlConnectionStringBuilder cnx = new MySqlConnectionStringBuilder(); cnx.Server = MySqlServer; cnx.Database = Database; cnx.UserID = UserId; cnx.Password = Pass; cnx.MinimumPoolSize = 100; cmd.Connection = new MySqlConnection(cnx.ToString()); cmd.Connection.Open(); cmd.ExecuteNonQuery(); } catch (MySqlException e) { System.Console.WriteLine(e.Message); } finally { if (null != cmd.Connection) { cmd.Connection.Close(); } } }