【发布时间】:2016-01-12 13:06:41
【问题描述】:
我的.aspx 页面的加载时间很短,我目前正在尝试对其进行优化。首先我使用Visual Studio Performance Analyzer 和SQL Server Profiler 来查找慢的地方,然后我将Stopwatches 直接放在我的代码中。
不太明白是怎么回事,不过貌似整个app中最慢的方法就是物化方法了,但是只有三个小表才慢:
internal T[] GetTableAsArray<T>() where T : class
{
return dataContext.GetTable<T>().ToArray();
}
第四张桌子还可以。 SQL Server Profiler 显示零 Duration 的 SQL 查询,但我的 Stopwatch 显示 677ms、884ms、355ms 和 8ms。所有表格都有约 50 行和约 7 列。
有什么想法吗?我应该在哪里挖?
【问题讨论】:
-
“小”怎么样?有多少记录?顺便说一句,你为什么打电话给
ToArray(),出于好奇?以允许 linq-to-sql 延迟加载的方式进行迭代通常是一种好习惯。 -
Small 是大约 50 行和大约 7 列的简单数据。我找到了速度变慢的原因,不幸的是,我需要重新设计我的应用程序才能解决这个问题。
-
我将其添加为下面的答案。
标签: c# performance linq-to-sql