我们安装了miniprofiler。它一直是一种启发性的体验,但是现在我们看到我们的数据库查询运行速度提高了3倍,启用了启动器,因为它已禁用。
我们在应用中更改的唯一代码是添加profiledDbConnection:
public static DbConnection GetOpenConnection(string connectionString)
{
var cnn = new System.Data.SqlClient.SqlConnection(connectionString);
// wrap the connection with a profiling connection that tracks timings
return MvcMiniProfiler.Data.ProfiledDbConnection.Get(cnn, MiniProfiler.Current);
}
Linq2Sql突然......快。
我不是在抱怨,但为什么会这样呢?
答案 0 :(得分:5)
'数据库查询运行速度提高3倍'是什么意思?
如果是案例1,那么差异将在SQL生成中 - 比较两个语句。 如果是情况2,则运行C#profiler(Ants,dotTrace)并比较所有方法的执行时间。
这种程度的差异将与完全不同的执行路径有关 - 也许你没有做大量的循环,或者你从缓存中获取数据。
首先,您可以验证您是否正在访问数据库,并且查询数量完全相同。