Miniprofiler:网站速度莫名其妙

时间:2011-06-27 22:05:28

标签: mvc-mini-profiler

我们安装了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突然......快。

我不是在抱怨,但为什么会这样呢?

1 个答案:

答案 0 :(得分:5)

'数据库查询运行速度提高3倍'是什么意思?

  1. 如果您运行SQL事件探查器 - 您是否看到数据库执行时间降低了3倍?
  2. 在代码中执行最终查询数据库的高级方法的时间要低3倍?
  3. 如果是案例1,那么差异将在SQL生成中 - 比较两个语句。 如果是情况2,则运行C#profiler(Ants,dotTrace)并比较所有方法的执行时间。

    这种程度的差异将与完全不同的执行路径有关 - 也许你没有做大量的循环,或者你从缓存中获取数据。

    首先,您可以验证您是否正在访问数据库,并且查询数量完全相同。