提高从远程数据库提取数据时的性能

本文关键字:数据 性能 提取 数据库 | 更新日期: 2023-09-27 18:25:43

我使用以下代码连接远程(通过互联网)mysql数据库,并用返回的结果填充数据网格。这很好,但当大约有200行或更多行可用时,填充网格需要一些时间。我想知道我是否应该做任何调整来加快进程,或者我应该做什么最合适的事情来加快进程。

当前编码

connection = new MySqlConnection(db_con_s);
connection.Open();
sql = connection.CreateCommand();
sql.CommandTimeout = 5000;
sql.CommandText = my_query;
MySqlDataReader Reader1 = sql.ExecuteReader();
if (Reader1 != null && Reader1.HasRows)
{
     while (Reader1.Read())                                    
     {
          cv++;
          dataGridView1.Rows.Add(cv,Reader1.GetString("l_id"), Reader1.GetString("l_code"),...............);
          d1 += Reader1.GetDouble("l_amount");
     }
}

提高从远程数据库提取数据时的性能

你能做一些类似的事情吗:

DataTable dt = new DataTable();
dt.Load(Reader1);
dataGridView1.DataSource = dt;

看看这是否能提高性能?

根据您的需求使用分页并获取20/50,并填充到数据网格中。这将提高性能。

此外,您还可以通过对筛选数据的列上的数据进行索引来提高查询性能。由于您还没有提供SQL查询,所以where子句中的所有列都必须索引