1

这是我第一次在 ASP.Net 上使用 MySql。

与我经常使用的 MSSql 不同,我注意到使用 MySqlConnection 连接到数据库需要很长时间(我的意思是一两秒),

MySql.Data.MySqlClient.MySqlConnection connection = new MySqlConnection(DBConnectionString);

因此,我想知道如何实现一个连接池,或者任何可以存储一个连接对象(MySqlConnection)的推荐结构,以便在整个应用程序中使用。

是否有这样做的普遍做法或任何其他建议?

这是我正在使用的代码 - 也许我在这里做错了什么?

MySql.Data.MySqlClient.MySqlConnection connection = new MySqlConnection(DBConnectionString);
MySqlDataAdapter adapter = new MySqlDataAdapter();
if (connection.State != ConnectionState.Open)
{
    try
    {
      connection.Open();
    }
    catch (MySqlException ex)
    {
     throw (ex);
      }
 }
  MySqlCommand cmd = new MySqlCommand("SELECT this FROM that", connection);

            DataSet ds = new DataSet();
            adapter.SelectCommand = cmd;
            adapter.Fill(ds);

            cmd.Connection.Close();
4

1 回答 1

0

根据文档,默认情况下它是打开的。此外,您正在使用连接字符串创建实例,这很好,因为它允许连接器立即利用池。因此,创建这些连接需要一两秒钟的事实几乎可以肯定与连接池无关,而与您在工作环境中提供 MySQL 的硬件更相关。

硬件一词在这里非常广泛,因为您可以处理从网络到磁盘和内存相关问题的所有问题。

请阅读文档- 它确实向您展示了如何调整连接池 - 这样可能会对您有所帮助。我做出这样的声明是因为您的问题并没有为我们提供很多关于您如何使用此服务器或这些连接的信息。

于 2013-03-04T19:48:25.653 回答