远程MySQL上的连接和查询速度慢

时间:2019-05-27 13:07:11

标签: c# mysql winforms dapper

我在WinForm中有一个应用程序,它在本地MySQL数据库中非常快。

我试图将数据库放在远程服务器中,连接和查询执行的速度确实很慢。

以下是我如何使用Dapper连接和运行查询的代码:

文件App.config

<add name="conTestOnline"
         connectionString="Database=database_test;Data Source=test.server.com;User Id=userTest;Password=alan1234;convert zero datetime=True" />

数据库连接类

public class DatabaseConnection:IDisposable
{
    public MySqlConnection con { get; private set; }

    public DatabaseConnection()
    {
        OpenConnection();
    }

    public void OpenConnection(string stringConnection)
    {
        if (con == null)
        {
            con = new MySqlConnection(stringConnection);
            con.Open();
        }
    }

    public void CloseConnection()
    {
        con.Close();
    }

    public void Dispose()
    {
        CloseConnection();
    }
}

使用Dapper执行查询的示例

public static string GetCodeBank(int id)
{
    using (DatabaseConnection db = new DatabaseConnection())
    {
        const string query = @"SELECT code_bank FROM bank WHERE id_bank = @Id";
        return db.con.QueryFirstOrDefault<string>(query, new {Id = id});
    }
}

查询很简单,但是由于有很多类似的地方,整个程序的速度变慢了。 如示例中所示,每次运行查询时,我都会使用using打开和关闭数据库连接。

0 个答案:

没有答案