我使用以下代码连接远程(通过互联网)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");
}
}
答案 0 :(得分:2)
你能做点什么:
DataTable dt = new DataTable();
dt.Load(Reader1);
dataGridView1.DataSource = dt;
看看是否能提高性能?
答案 1 :(得分:0)
根据您的要求使用分页和获取20/50并填充数据网格。这样可以提高性能。
此外,您可以通过索引要过滤数据的列上的数据来提高查询性能。 由于您还没有提供SQL查询,因此必须将where子句中的所有列编入索引