asp.net MySql MySqlConnection - 实现连接池或等效的

时间:2013-03-04 19:32:52

标签: asp.net mysql

这是我第一次在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();

1 个答案:

答案 0 :(得分:0)

According to the documentation默认情况下已启用。此外,您正在使用连接字符串创建实例,因此这很好,因为它允许连接器立即利用池。因此,创建这些连接花费一两秒的事实是 几乎肯定 与连接池无关,并且与您在环境中提供MySQL的硬件更相关你在工作。

术语硬件在这里非常广泛,因为您可能正在处理从网络到磁盘以及与内存相关的问题。

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