我正在研究应用程序优化,我已经优化了我的查询,从 17+ 秒开始只需要 5 毫秒(总执行时间 = ~350 毫秒)。但是迭代60k记录的 SQLDataReader 记录大约需要900 ms。有什么办法可以减少 900 毫秒的时间吗?
这是我使用的示例代码...
SqlConnection conn = new SqlConnection("data source=XXX;initial catalog=XXX;integrated security=True");
conn.Open();
SqlCommand cmd = new SqlCommand("uspOptimizedSP", conn);
cmd.CommandType = CommandType.StoredProcedure;
var reader = cmd.ExecuteReader();
int i = 0;
Stopwatch sw = new Stopwatch();
sw.Start();
while (reader.Read())
{
++i;
}
sw.Stop();
Console.WriteLine(sw.ElapsedMilliseconds); // This results in ~900 ms
经过的毫秒是从800 毫秒到 950毫秒
其他详情
- 数据集大小 = 60k 记录的 714 MB。
- 我使用了 AutoMapper,但将数据从 IDataReader 转换为 POCO 类需要 3 秒以上