我有以下代碼查詢數據庫並填充數據表。有沒有更快的方式來填充數據庫查詢的結果集?
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事情的輪廓細節:
考慮到我的運行查詢,將其轉換成一個數據表,然後將該錶轉換爲對象的列表,是還有什麼我可以做的優化這個(以某種方式直接從數據適配器轉換爲對象列表?)。我基本上正在尋找解決此代碼中的性能瓶頸的解決方法?
如何的有10秒鐘的時間僅僅是接收數據的時間?不加載數據表,只是*獲取*它。問題可能不是代碼,它可能是數據庫,網絡等。 –