我有以下代码查询数据库并填充数据表。
private DataTable Run(string sql)
{
var conn = new OdbcConnection();
string connString = "[myConnString];";
conn.ConnectionString = connString;
conn.Open();
var da = new OdbcDataAdapter {SelectCommand = conn.CreateCommand()};
da.SelectCommand.CommandText = sql;
var dt = new DataTable();
da.Fill(dt);
da.Dispose();
conn.Close();
return dt;
}
我刚刚在它上面运行了一个分析器,它表明这条线需要很长时间:
da.Fill(dt);
该查询仅返回大约 1000 行。以下是本次通话中 .net 内部发生的情况的详细资料:
鉴于我正在运行一个查询,将其转换为数据表,然后将该表转换为对象列表,我可以做些什么来优化它(以某种方式直接从数据适配器转换为对象列表??) . 我基本上是在寻找解决此代码中此性能瓶颈的方法?